Nginx子域代理传递顺序

Nginx子域代理传递顺序,nginx,Nginx,我有两个应用程序在端口3000和3030上运行 mydomain.com应指向127.0.0.1:3000,而app.mydomain.com应指向127.0.0.1:3030 使用下面的配置,app.mydomain.com显示在端口3000而不是3030上运行的应用程序。如果我改变顺序,反之亦然 站点可用/默认文件: # Redirect to HTTPS server { listen 80; server_name _; return 301 https://$h

我有两个应用程序在端口
3000
3030
上运行

mydomain.com应指向127.0.0.1:3000,而app.mydomain.com应指向127.0.0.1:3030

使用下面的配置,app.mydomain.com显示在端口3000而不是3030上运行的应用程序。如果我改变顺序,反之亦然

站点可用/默认
文件:

# Redirect to HTTPS
server {
    listen 80;
    server_name _;
    return 301 https://$host$request_uri;
}

# Landing page
server {
    listen 443;

    server_name www.mydomain.com mydomain.com;

    ssl on;
    ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:3000;
    }
}

# App
server {
    listen 443;

    server_name app.mydomain.com;

    ssl on;
    ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:3030;
    }
}

在我的例子中,问题是我使用的是一个IDN域(带有字符ä)。我在问题中没有提到这一点

服务器名称更改为punycode版本解决了该问题