Gogs push 代码时提示:413 Request Entity Too Large

今天刚在服务器上搭建了 Gogs,一款开源的、易搭建的自助 Git 服务,使用 Go语言编写,任何 Go 语言支持的平台都可以运行 Gogs,包括 Windows、Mac、Linux 以及 ARM。

当我准备将本地的一个项目 push 到 Gogs 的仓库中的时候,提示我以下内容:

$ git push origin master
Enumerating objects: 338, done.
Counting objects: 100% (338/338), done.
Delta compression using up to 6 threads.
Compressing objects: 100% (314/314), done.
Writing objects: 100% (336/336), 4.39 MiB | 15.84 MiB/s, done.
Total 336 (delta 25), reused 0 (delta 0)
error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date

出现这个问题是因为我在服务器上用 Nginx 对 Gogs 反向代理,一次性提交代码量太多了,超出了 Nginx 的限制。

反向代理:

server {
    listen 80;
    server_name git.example.com;

    location / {
        # 3000 是 Gogs 运行的端口
        proxy_pass http://localhost:3000; 
    }
}

解决方法有以下两种:

1、多次提交

将代码分多次提交,避免超出 Gogs 的限制。(此方法治标不治本)

2、修改 Nginx 配置

使用 client_max_body_size 设置允许最大请求的数据的大小:

server {
    listen 80;
    server_name git.example.com;

    # 设置最大为 50 M
    client_max_body_size 50m;

    location / {
        # 3000 是 Gogs 运行的端口
        proxy_pass http://localhost:3000; 
    }
}

上传文件时出现 413 Request Entity Too Large 也可以通过设置 client_max_body_size 来解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值