![如何使用 Nginx 将我的子域名重定向到 Https 中的 localhost:5000?](https://linux22.com/image/772542/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20Nginx%20%E5%B0%86%E6%88%91%E7%9A%84%E5%AD%90%E5%9F%9F%E5%90%8D%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%20Https%20%E4%B8%AD%E7%9A%84%20localhost%3A5000%EF%BC%9F.png)
我的 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
确认没有任何东西在监听该端口。
如果您的应用服务器确实正在运行,请检查其配置是否正确。如果没有运行,请启动它。