我构建了在节点服务器上运行的react应用,我在同一个gcloud实例中使用了多个submain。使用pm2,我正在运行在不同端口上正常运行的那些应用。 现在我想在我的虚拟机上实现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正常运行,但是https://booking.stanplus.com/收到ssl却无法正常工作。 https://booking.stanplus.com/定位在http://35.237.131.149:8080/上,效果很好。 https://booking.stanplus.com/给我错误
502错误的网关
我做错了什么??,第一次执行nginx。
我看了很多文章和Q&S,但认罪了。
请帮我。我已经三天了。
答案 0 :(得分:1)
在您的配置中,您使用:
proxy_pass http s ://://35.237.131.149:8080;
也就是说,您请求nginx使用HTTPS-到后端的加密连接。鉴于大多数情况下端口8080用于纯HTTP(不带S),这很可能是错误的。您声称可以使用的网址http://35.237.131.149:8080/
也是纯HTTP,而不是HTTPS。
将proxy_pass
的参数更改为http://35.237.131.149:8080/
应该可以解决您的问题。
请注意,nginx通常将错误详细信息记录到错误日志中。如有疑问,请随时进行调查,在许多情况下,它具有足够的信息来了解问题所在。