2017-06-02 2 views
-1

30003030の2つのアプリケーションがあります。Nginxサブドメインプロキシパスオーダー

mydomain.comは127.0.0.1:3000を指し、app.mydomain.comは127.0.0.13030を指す必要があります。

以下の設定を使用すると、app.mydomain.comは、3030ではなくポート3000で実行されているアプリを表示します。注文を変更すると、その逆です。

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バージョンに変更すると問題が解決しました。