我们在 nginx 上为 bamboo 服务器配备了一个反向代理服务器,但是它给出了 502 错误网关,但可以从反向代理服务器(均为 centos)访问。
nginx.conf:
server {
listen 80;
server_name bamboo.test.foo.com;
access_log /var/log/nginx/bamboo.test.foo.access.log main;
location /bamboo {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://192.168.10.5:8085;
client_max_body_size 10M;
}
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
}
访问日志:
81.82.215.59 - - [07/Dec/2016:16:19:39 +0000] "GET / HTTP/1.1" 502 575 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36" "-"
81.82.215.59 - - [07/Dec/2016:16:19:39 +0000] "GET /favicon.ico HTTP/1.1" 502 575 "http://bamboo.test.foo.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36" "-"
答案1
我启用了 SELinux,它阻止 Nginx 建立出站连接。
您可以使用以下方法检查:
# getenforce
如果 SELinux 已开启并且您遇到此问题,您可以尝试将 httpd_can_network_connect 设置为 true,然后重新启动 nginx:
# setsebool -P httpd_can_network_connect true