如何使用 Nginx 将我的子域名重定向到 Https 中的 localhost:5000?

如何使用 Nginx 将我的子域名重定向到 Https 中的 localhost:5000?

我的 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确认没有任何东西在监听该端口。

如果您的应用服务器确实正在运行,请检查其配置是否正确。如果没有运行,请启动它。

相关内容