2017-09-30 2 views
0

Meine Website lief auf Port 80 (http) und ich war mit Nginx ohne Probleme. Im Folgenden finden Sie Standard-Datei, die ichNodeJs + Nginx .. Upstream vorzeitig geschlossen Verbindung beim Lesen Antwort Header von m Upstream

server { 
    listen 80; 
    server_name www.example.com; 
    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; 
    } 
} 

Jetzt in nginx war ich mit https und heruntergeladen verwenden ist die Planung encrypt Lets certs.Currently Ich bin auf die Website zugreifen nicht in der Lage. Ich bekomme folgenden Fehler.

* [Fehler] 754 # 754: 1 stromauf vorzeitig geschlossene Verbindung beim Lesen Antwort-Headers fro m stromaufwärts, Auftraggeber: xxx.xx.xxx.xxx, Server: example.com, Anfrage: „GET/favicon ICO HTTP/2.0" stromaufwärts "h TTP: //127.0.0.1: 3000/favicon.ico" host: "www.exapmple.com", Referrer: "https://www.example.com/"

Unten ist Meine Standard-Datei von Nginx

# HTTP — redirect all traffic to HTTPS 
server { 
    listen 80; 
    listen [::]:80 default_server ipv6only=on; 
    return 301 https://$host$request_uri; 
} 

server { 
    listen 443 default_server ssl; 
    listen [::]:443 ssl http2; 
    server_name example.com www.example.com; 

    # certs sent to the client in SERVER HELLO are concatenated in ssl_certificate 
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; 
    ssl_session_timeout 1d; 
    ssl_session_cache shared:SSL:50m; 
    ssl_session_tickets off; 


    # intermediate configuration. tweak to your needs. 
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
    ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; 
    ssl_prefer_server_ciphers on; 

    # HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months) 
    add_header Strict-Transport-Security max-age=15768000; 

    # OCSP Stapling --- 
    # fetch OCSP records from URL in ssl_certificate and cache them 
    ssl_stapling on; 
    ssl_stapling_verify on; 

    resolver 8.8.8.8; 

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

} 

Mein Nodejs-Code ist ein s folgt

var app = express(); 
var port = 3000; 
var server = https.createServer(app).listen(port, function() { 
    console.log("Application connected on port " + port); 
}); 

und Server auf Port 3000.

Vielen Dank im Voraus läuft .. J

Antwort

2

Dieses Problem ist nun behoben. Problem war mit Nodejs Code.

ich oben Code geändert

var app = express(); 
var port = 3000; 
var server = app.listen(port, function() { 
    console.log("Application connected on port " + port); 
}); 

https.createserver die http.server() aufruft, intern und erstellt die Instanz. also durch das Entfernen dieser wurde der Fehler behoben.

Danke für die Hilfe !!

Verwandte Themen