我试图在我的nginx.conf文件中添加proxy_set_header。当我尝试添加proxy_pass并调用URL时,它会抛出502 Bad Gateway nginx / 1.11.1错误。
不确定如何解决此错误:
upstream app-server {
# connect to this socket
server unix:///tmp/alpasso-wsgi.sock; # for a file socket
}
server {
server_name <name>;
listen 80 default_server;
# Redirect http to https
rewrite ^(.*) https://$host$1 permanent;
}
server {
server_name <name>;
listen 443 ssl default_server;
recursive_error_pages on;
location /azure{
proxy_pass http://app-server;
}
ssl on;
ssl_certificate /etc/nginx/server.crt;
ssl_certificate_key /etc/nginx/server.key;
ssl_client_certificate /etc/nginx/server.crt;
ssl_verify_client optional;
}
答案 0 :(得分:4)
如果您的Linux服务器使用的是SELINUX,那么与proxy_pass有类似的问题,那么您可能想尝试一下。
setsebool -P httpd_can_network_connect true
参考沃伦的回答:https://unix.stackexchange.com/questions/196907/proxy-nginx-shows-a-bad-gateway-error
答案 1 :(得分:0)
尝试:
window.open()
答案 2 :(得分:0)
502
。
尝试启用error log
,您可能会看到failed to connect to upstream
,
为此,您需要检查upstream
服务器是否正在运行,sudo service upstream status
,然后尝试启用它。
答案 3 :(得分:0)
Nginx 代理与 unix 套接字故障排除:
nginx -t
netstat --protocol=unix -nlp | grep alpasso-wsgi.socket
curl --unix-socket /tmp/alpasso-wsgi.sock http:/your-path-on-app
(必须是屏幕输出的html代码)
如果没有,请检查您的应用。如果是:
检查nginx错误日志
sudo tail -f /var/log/nginx/error.log
确定 nginx 使用哪个用户名:
ps aux | grep nginx
并且,例如,如果 nginx 用户是 www-data,则授予 www-data 用户所需的权限。将 www-data 用户添加到所需组:
sudo usermod -a -G your-socket-file-group www-data
并检查套接字文件的权限, 或使用 ACL:
sudo setfacl -R -m u:www-data:rwX /path-to-your-unix-socket
sudo setfacl -Rd -m u:www-data:rwX /path-to-your-unix-socket