2014-10-30 11 views
37

Normalerweise läuft Webpack im Entwicklermodus mit HTTP. Normalerweise gibt es einen Webserver, der Inhalte über HTTP und Webpack mit http/websockets auf einem separaten Port bereitstellt.Webpack Dev Server läuft auf HTTPS/Web Sockets Secure

Ist es möglich, den Webserver auf https und webpack auf https/websocket sicher laufen zu lassen?

+0

dies ein paar Mal nach rereading es könnte ein Duplikat sein von meiner Frage? http://stackoverflow.com/questions/31973085/how-to-run-webpack-dev-server-https-hot-inline – chemoish

Antwort

55

Siehe webpack docs

Es ist eine Flagge, die Sie auf den webpack-dev-Server-Befehl

webpack-dev-server --https 
+1

Webserver ist in https, aber Webpack-dev-Server erstellt keine https-Verbindung zu Socket .io-richtig? – chemoish

+0

Ich habe das versucht und jetzt http funktioniert nicht mehr. Gibt es eine Möglichkeit, wie ich sowohl https als auch http verwenden kann? – Eschon

+0

@Eschon hast du eine Lösung gefunden, um http und https zu verwenden? –

19

Während die obige Antwort für cli hinzufügen können, richtig ist, wenn Sie nicht in der CLI sind, nur

var WebpackDevServer = require('webpack-dev-server'); 

new WebpackDevServer(webpack(WebpackDevConfig), { 
    https: true, 
    hot: true, 
    watch: true, 
    contentBase: path.join(__dirname, 'src'), 
    historyApiFallback: true 
}).listen(1337, 'localhost', function(err, result) { 
    if (err) { 
     console.log(err); 
    } 
    console.log('Dev server running at https://localhost:1337'); 
}); 
+0

Wenn ich das mache, bekomme ich einen 502 Bad Gateway Fehler. Gibt es etwas Besonderes, das ich vielleicht konfiguriert habe, das dies oder etwas anderes verursacht, das ich brauche? Zum Beispiel funktioniert das in Windows? – Sawtaytoes

+0

Vielleicht müssen Sie den Port von 1337 auf 443 ändern? Oder müssen Sie den Port in Ihre Anfrage an den Server einbeziehen, z. B. https: // localhost: 1337? Lassen Sie uns mehr Details darüber, was Ihr Server als eingerichtet ist und welche URL Sie laden, und vielleicht können wir mehr helfen :) – dangoldnj

+0

Ich habe zuerst "net :: ERR_INSECURE_RESPONSE" -Fehler in meinem Browser, da Webpack-dev-Server verwendet ein selbstsigniertes Zertifikat Dies wurde behoben, indem einmal die gesperrte "https: // .... .js" -url besucht wurde und dem Browser gesagt wurde, dass ich sicher fortfahren möchte. – np8

6

dies für Testumgebung: Sie könnte so etwas wie diese (in einem Zug Aufgabe) tun

Sie benötigen webpack-dev-Server zu konfigurieren, wie folgt:

webpack-dev-server --https --cert ./cert.pem --key ./key.pem

aber es ist ein bekannter Fehler, wenn webpack das Passwort aus dem Schlüssel zu lesen versucht. please see this link

Die einfachste Arbeit ist um einen Schlüssel ohne Passwort zu generieren (ich weiß nicht, die Sicherheits Folgen davon! Aber für den Test ist nur).

das Passwort nehmen Sie diesen Befehl aus Ihrem Schlüssel verwenden:

$ openssl rsa -in key.pem -out newKey.pem

und den neuen Schlüssel in der Linie Vorschauen Konfiguration verwendet

+1

Dieser Link, den Sie gepostet haben, ist wahrscheinlich nicht so, wie Sie es vorhaben? – Neikius

+2

nur hinzufügen --https, keine Notwendigkeit für --cert ./cert.pem --key ./key.pem, Webpack wird den CER für sich selbst generieren. –