HTTPS Node.js Anwendung auf Heroku
Ich so konfiguriert haben, dass mein SSL-enpoint, und ich kann bestätigen, dass das funktioniert. Wenn ich in meinem log sehe ich Folgendes:
Jul 13 08:14:10 support-dash app/web.1: Express server listening on port 17621
Jul 13 08:14:10 support-dash heroku/web.1: Stopping all processes with SIGTERM
Jul 13 08:14:11 support-dash heroku/web.1: State changed from starting to up
Jul 13 08:14:13 support-dash heroku/web.1: Process exited with status 143
Jul 13 08:15:48 support-dash heroku/router: at=error code=H12 desc="Request timeout" method=GET path=/ host=app.supportdash.com fwd="68.63.87.85" dyno=web.1 connect=2ms service=30000ms status=503 bytes=0
Jul 13 08:16:18 support-dash heroku/router: at=error code=H12 desc="Request timeout" method=GET path=/favicon.ico host=app.supportdash.com fwd="68.63.87.85" dyno=web.1 connect=2ms service=30007ms status=503 bytes=0
Habe ich versucht, auf die Spur einige Informationen über den exit-code 143, und warum alle Prozesse werden angehalten. Schauen Sie sich die folgenden server-Datei:
var http = require('http');
var https = require('https');
var fs = require('fs');
var express = require("express");
var app = express();
app.set('port', process.env.PORT || 3000);
app.use(express.logger());
app.get('/', function(request, response) {
response.send('Hello World 2!');
});
var privateKey = fs.readFileSync(__dirname + '/ssl/server.key').toString();
var certificate = fs.readFileSync(__dirname + '/ssl/gandiSSL.pem').toString();
var options = {
key: privateKey,
cert: certificate
};
https.createServer(options, app).listen(process.env.PORT, function () {
console.log("Express server listening on port " + app.get('port'));
});
Vielen Dank für Ihre Rückmeldung im Voraus. Ich kann weitere Informationen geben, wenn nötig.
- - - - - - - LÖSUNG (BEARBEITEN) -------
Siehe meine Antwort unten.
- Hey Andrew, ich weiß, das ist eine lange Zeit nach der Tat, aber man sollte die Lösung posten als sich selbst beantworten, und markieren Sie Sie akzeptiert!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich die Antwort hier: Heroku Fehler H13 auf ExpressJS Knoten HTTPS-Server
"SSL-Terminierung erfolgt bei Heroku load-Balancer; Sie senden Sie Ihre app-Ebene (nicht-SSL) Verkehr, so sollte Ihre app erstellen Sie eine nicht-HTTPS-server".
Ich dann meine geänderte Datei:
Alles funktioniert nun Super-über-https. Viel Glück!