2017-06-02 93 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版本解決了問題。