2017-06-02 94 views
-1

我有两个应用程序在端口30003030上运行。Nginx的子域代理通行证

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

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

sites-available/default文件:

# 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; 
    } 
} 

回答

0

在我的情况的问题是,我使用的是IDN域名(以字符ä)。我在这个问题中没有提到这一点。

server_names更改为punycode版本解决了问题。