反向代理
通用配置
- 在您的
app.ini
文件中添加配置[server] ROOT_URL = https://git.example.com/
- 将
https://git.example.com/foo
反向代理到http://gitea:3000/foo
- 确保反向代理不会解码 URI。
https://git.example.com/a%2Fb
的请求应该被传递给http://gitea:3000/a%2Fb
。 - 确保
Host
和X-Forwarded-Proto
头被正确的传递给 Gitea,使 Gitea 可以看到正在访问的真实 URL。
使用子路径
通常,不推荐将 Gitea 放到子路径。人们很少使用此配置,并且在极少数情况下可能会出现一些问题。
为了让 Gitea 在子路径工作(例如:https://common.example.com/gitea/
),需要在上面的通用配置之外进行一些额外的配置:
- 在
app.ini
文件中使用配置[server] ROOT_URL = https://common.example.com/gitea/
。 - 将
https://common.example.com/gitea/foo
反向代理到http://gitea:3000/foo
。 - 容器映像注册表需要在根目录级别有一个固定的子路径
v2
,您必须做下列配置:- 将
https://common.example.com/v2
反向代理到http://gitea:3000/v2
。 - 确保 URI 和标头也被正确的传递(见上面的通用配置)
- 将
使用 Nginx 作为反向代理服务
如果您想使用 Nginx 作为 Gitea 的反向代理服务,您可以参照以下 nginx.conf
配置中 server
的 http
部分。
确保 client_max_body_size
足够大,否则在上传大文件时会出现 "client_max_body_size" 错误。
server {
...
location / {
client_max_body_size 512M;
proxy_pass http://localhost:3000;
proxy_set_header Connection $http_connection;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}