我的 nginx 有问题:
当我的用户搜索“hermes.my-domain.com”时,我必须将所有 http 和 https 流量重定向到我的应用程序所在的 nginx 服务器的 5000 端口。
“hermes”是我的子域名的名称。
所以我这样做:
server {
listen 80;
server_name hermes.my-domain.com;
return 301 https://hermes.my-domain.com$request_uri;
}
server {
listen 443;
ssl_certificate /etc/certs/ssl/bundle.crt;
ssl_certificate_key /etc/certs/ssl/server.key;
location / {
proxy_pass http://localhost:5000;
proxy_redirect off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Ssl on;
}
}
每次我都会遇到 502 错误。
我不明白发生了什么...
有人知道这个问题吗?
非常感谢 !
这是我从 error.log 中得到的结果:
抱歉,这是我从 error.log 中得到的结果:
2021/11/24 09:09:44 [error] 19384#19384: *332 connect() failed (111: Connection refused) while connecting to upstream, client: 10.10.1.158, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:5000/", host: "hermes.my-domain.com"
2021/11/24 09:09:44 [error] 19384#19384: *332 connect() failed (111: Connection refused) while connecting to upstream, client: 10.10.1.158, server: , request: "GET / HTTP/1.1", upstream: "http://[::1]:5000/", host: "hermes.my-domain.com"
2021/11/24 09:09:44 [error] 19384#19384: *332 no live upstreams while connecting to upstream, client: 10.10.1.158, server: , request: "GET /favicon.ico HTTP/1.1", upstream: "http://localhost/favicon.ico", host: "hermes.my-domain.com", referrer: "https://hermes.my-domain.com/"
谢谢大家的帮助!
答案1
您的应用程序服务器未监听端口 5000。
connection refused
表示没有任何内容正在监听该接口上的该端口。
空的输出ss -tnlp |grep :5000
确认没有任何东西在监听该端口。
如果您的应用服务器确实正在运行,请检查其配置是否正确。如果没有运行,请启动它。