Nginx将流量发送到错误的端口

时间:2020-05-11 10:10:05

标签: nginx

我有2个Nginx配置文件(出于隐私目的更改了域)。

server {

    listen 80;
    listen 443 ssl http2;

    server_name beta.mydomain.io;

    ssl_certificate /etc/letsencrypt/live/mydomain.io/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mydomain.io/privkey.pem;

    if ($scheme = http) {
        return 301 https://$host$request_uri;
    }

    location / {
        proxy_pass http://localhost:3001;
        proxy_buffering off;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
server {

    listen 80;
    listen 443 ssl http2;

    server_name mydomain.io, www.mydomain.io;

    ssl_certificate /etc/letsencrypt/live/mydomain.io/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mydomain.io/privkey.pem;

    if ($scheme = http) {
        return 301 https://$host$request_uri;
    }

    location / {
        proxy_pass http://127.0.0.1:3002;
        proxy_buffering off;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

出于某种原因,导航到mydomain.io会将您带到beta版本,只有www.mydomain.io会将您带到端口3002上的beta版本。我似乎找不到其他人遇到此问题。

1 个答案:

答案 0 :(得分:0)

我正要发布此问题,然后意识到我的错误。我在域之间加入了逗号,这对于server_name指令而言语法不正确。我希望它可以帮助其他人。我将其删除并重新启动了Nginx服务器。现在工作正常。