我正在尝试使用nginx制作负载平衡器大约4个小时,我没有更多的想法如何处理它。
我的计划是:
客户 - > nginx负载均衡器 - > gitlab或taiga.io
现在我的nginx conf:
upstream gitlab {
server localhost:8081;
}
server {
listen 80;
server_name git.localhost.com
client_max_body_size 300M;
location / {
proxy_pass http://localhost:8081/;
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;
}
}
Gitlab在localhost上工作:8081很好。 当我去git.localhost.com时,我只看到错误日志502错误:
6#6: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.19.0.1, server: git.localhost.com, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8081/", host: "git.localhost.com"
我做错了什么? 我试过这个:Gitlab 5.3 behind nginx reverse proxy但仍然不起作用。
答案 0 :(得分:1)
http://localhost:8081
(有效)与nginx代理请求的位置(不起作用)之间必然存在一些差异。
目前您的upstream
阻止未被使用。
在proxy_pass
中,尝试将http://localhost:8081/
替换为http://gitlab
。