Gitea 小记:RPC failed; HTTP 413 错误原因及解决方法
Gitea 是一个由开源社区驱动的轻量级代码托管解决方案。其功能强大,可谓 Github 平替。采用 Go 编写,便于自托管(自建),部署简单,采用 MIT 许可证,与 Gitlab 类似但轻量很多。
表现
使用 git push 推送时报错 error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413
,同时相应请求在 Gitea 日志中报 401 Unauthorized
错误。
原因
简单来说,这个问题通常只会在使用反向代理的场景下触发。以使用 Nginx 为 Gitea 提供反向代理为例,导致错误的原因便是推送的文件超过了 Nginx 默认的大小限制(1M)。
解决
解决方法也很简单,以 Nginx 为例,在相应的反向代理配置中增大大小限制即可。
server {
listen 80;
server_name git.xxxx.xx;
client_max_body_size 100M; # 调整大小限制至 100M
location / {
proxy_pass http://127.0.0.1:3000;
}
}
番外
严厉吐槽,尽管在 2019 年就有相关 Issue 出现,但 Gitea 官方文档(https://docs.gitea.io/zh-cn/reverse-proxies/)到目前(2022-06-26)为止,反向代理部分给出的配置依然未做相应修改。