2017-06-02 4 views
-1

Ich habe zwei Anwendungen auf den Ports 3000 und 3030 ausgeführt.Nginx Subdomain Proxy-Auftrag

mydomain.com sollte auf 127.0.0.1:3000 zeigen, während app.mydomain.com auf 127.0.0.1:3030 zeigen sollte.

Mit der folgenden Konfiguration zeigt app.mydomain.com die App an, die auf Port 3000 statt auf 3030 ausgeführt wird. Wenn ich die Reihenfolge ändere, ist es umgekehrt.

Die sites-available/default Datei:

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

Antwort

0

Das Problem in meinem Fall war, dass ich eine IDN-Domain bin mit (mit dem Zeichen ä). Ich habe dies in der Frage nicht erwähnt.

Das Ändern der server_names auf die Punycode-Version löste das Problem.