2017-08-21 4 views
1

Ich habe einen NGINX-Server, der einen Reverse-Proxy-Server für eine Knoten-App betreibt. Jetzt muss ich es mit https zum Laufen zu bringen, aber ich behalte 502 bekommen: Bad Gateway Fehler, wenn unter httpsNGINX Reverse Proxy zu Knoten HTTPS

server { 
listen 80; 
    server_name MYSERVERDOMAIN; 

    location/{ 
      proxy_pass http://localhost:3000; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection 'upgrade'; 
     proxy_set_header Host $host; 
     proxy_cache_bypass $http_upgrade; 
    } 
} 

server { 
    listen 443 ssl; 
    server_name MYSERVERDOMAIN; 

    ssl on; 
    ssl_certificate /etc/nginx/ssl/server.crt; 
    ssl_certificate_key /etc/nginx/ssl/server.key; 
    ssl_ciphers HIGH:!aNULL:!MD5; 
    ssl_prefer_server_ciphers on; 
    ssl_session_cache shared:SSL:1m; 
    ssl_session_timeout 5m; 
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 

location/{ 
    proxy_pass http://localhost:3000; 
    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection 'upgrade'; 
    proxy_set_header Host $host; 
    proxy_cache_bypass $http_upgrade; 
} 
} 

Antwort

1

Ihre Einstellung richtig sieht die Site zuzugreifen versuchen, so bin ich nicht ganz sicher über das Thema. Allerdings verwende ich unter Einstellung für meinen Produktionsserver mit zusätzlicher Konfiguration für static assets Ordner und https Auto-Forward - das ist die ultimative Einstellungen, die Sie für Ihre production servers möchten. Hoffe, dass es helfen kann:

server { 
     listen 80; 
     server_name example.com; 
     rewrite ^/(.*) https://example.com/$1 permanent; 
} 

server { 
     server_name example.com; 

     listen 443 ssl default_server; 
     listen [::]:443 ssl default_server; 
     ssl_certificate /etc/ssl/certs/www.example.chained.cer; 
     ssl_certificate_key /etc/ssl/private/www.example.com_ssl_private_key.key; 

     root /var/www/example/public; 

     location/{ 
       try_files $uri @proxy; 
     } 

     location @proxy { 
       proxy_pass http://localhost:3000; 
       proxy_http_version 1.1; 
       proxy_set_header Upgrade $http_upgrade; 
       proxy_set_header Connection 'upgrade'; 
       proxy_set_header Host $host; 
       proxy_cache_bypass $http_upgrade; 
     } 
} 
+0

cool danke. Um dies heute zu sehen, ist dies hilfreich. Das SSL-Problem, das ich hatte, war Konfigurationsproblem mit dem weiteren Netzwerk –