我已经设置了Linode NodeBalancer来处理我的网站https://adamhelm.com的HTTPS流量,该网站侦听端口443。我还设置了nginx服务器,使用以下nginx配置将流量路由到端口3000上的Node.js应用程序:
listen 443;
server_name www.adamhelm.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
当我试图访问我的网站https://adamhelm.com时,我的网络浏览器出现"502 Bad Gateway"错误。NGINX的错误日志显示,在尝试连接到http://45.79.140.133:3000上的上游服务器时出现"Permission denied"错误。与上游服务器的连接是从NodeBalancer通过IP地址192.168.255的专用连接进行的。142.
我可以通过主机的IP地址直接在http://45.79.140.133:3000访问应用程序,没有任何问题。
我正在寻求帮助以正确配置此设置。
1条答案
按热度按时间db2dz4w81#
Node.js应用程序与NGINX的通信需要打开出站端口。任何希望利用NGINX作为带有Linode NodeBalancers的Node.js反向代理的人都应该知道这一点。
CentOS7的解决方案是:
Solution Reference URL