502 Bad Gateway 节点服务器 nginx
502 Bad Gateway node server nginx
我在节点服务器上构建了 运行 的 React 应用程序,我在同一个 gcloud instance.using pm2 中使用了多个 submain,我是 运行 那些在不同平台上运行良好的应用程序端口。
现在我想在我的虚拟机上实现 nginx,这样我就可以针对那些具有特定域的应用程序。
我的 servers.conf(nginx 文件)
server {
listen 80;
listen [::]:80;
server_name booking.stanplus.com www.booking.stanplus.com;
return 301 https://booking.stanplus.com$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name booking.stanplus.com www.booking.stanplus.com;
ssl_certificate /etc/letsencrypt/live/booking.stanplus.com/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/booking.stanplus.com/privkey.pem;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass https://35.237.131.149:8080;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
server {
listen 80;
listen [::]:80;
server_name dkiosk.stanplus.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
}
}
http://dkiosk.stanplus.com working fine but https://booking.stanplus.com/ 获得 ssl 但无法正常工作。
https://booking.stanplus.com/ is targeting on http://35.237.131.149:8080/ 工作正常。
https://booking.stanplus.com/ 给我错误
502 Bad Gateway
我哪里做错了...?,我第一次实现 nginx。
我看了很多文章和问答,但都被坦白了。
请帮助 me.i 我卡住了 3 天了。
在您的配置中您使用:
proxy_pass https://35.237.131.149:8080;
也就是说,您请求 nginx 使用 HTTPS - 到后端的加密连接。这很可能是错误的,因为在大多数情况下端口 8080 用于纯 HTTP(没有 S)。您声称工作的 URL http://35.237.131.149:8080/
也是纯 HTTP,而不是 HTTPS。
将 proxy_pass
参数更改为 http://35.237.131.149:8080/
应该可以解决您的问题。
请注意,nginx 通常会将错误详细信息记录到错误日志中。如果有疑问,请不要犹豫,查看它,在许多情况下,它有足够的信息来了解问题所在。
我在节点服务器上构建了 运行 的 React 应用程序,我在同一个 gcloud instance.using pm2 中使用了多个 submain,我是 运行 那些在不同平台上运行良好的应用程序端口。
现在我想在我的虚拟机上实现 nginx,这样我就可以针对那些具有特定域的应用程序。
我的 servers.conf(nginx 文件)
server {
listen 80;
listen [::]:80;
server_name booking.stanplus.com www.booking.stanplus.com;
return 301 https://booking.stanplus.com$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name booking.stanplus.com www.booking.stanplus.com;
ssl_certificate /etc/letsencrypt/live/booking.stanplus.com/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/booking.stanplus.com/privkey.pem;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass https://35.237.131.149:8080;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
server {
listen 80;
listen [::]:80;
server_name dkiosk.stanplus.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
}
}
http://dkiosk.stanplus.com working fine but https://booking.stanplus.com/ 获得 ssl 但无法正常工作。
https://booking.stanplus.com/ is targeting on http://35.237.131.149:8080/ 工作正常。
https://booking.stanplus.com/ 给我错误
502 Bad Gateway
我哪里做错了...?,我第一次实现 nginx。
我看了很多文章和问答,但都被坦白了。
请帮助 me.i 我卡住了 3 天了。
在您的配置中您使用:
proxy_pass https://35.237.131.149:8080;
也就是说,您请求 nginx 使用 HTTPS - 到后端的加密连接。这很可能是错误的,因为在大多数情况下端口 8080 用于纯 HTTP(没有 S)。您声称工作的 URL http://35.237.131.149:8080/
也是纯 HTTP,而不是 HTTPS。
将 proxy_pass
参数更改为 http://35.237.131.149:8080/
应该可以解决您的问题。
请注意,nginx 通常会将错误详细信息记录到错误日志中。如果有疑问,请不要犹豫,查看它,在许多情况下,它有足够的信息来了解问题所在。