2016-02-01 20 views
18

Utilizzo il pacchetto npm "http-server" (https://www.npmjs.com/package/http-server) per configurare un semplice server web, ma non riesco a farlo usare SSL. Il mio comando nel package.json èhttp-server con protocollo npm con SSL

http-server -p 8000 -o -S 

con un cert.pem e key.pem nella mia directory root (per ora). L'opzione "-o" apre un browser alla pagina predefinita, ma la pagina viene servita tramite HTTP e non è accessibile nemmeno tramite HTTPS. Non ricevo errori o avvisi. Ho anche provato ad aggiungere le opzioni "-C" e "-K" senza fortuna. Qualcuno ha avuto qualche successo con questo pacchetto?

+1

[Guida utile] (https://docs.nodejitsu.com/articles/HTTP/servers/how-to-create-a-HTTPS-server/) – Abhijeet

risposta

1

Solo per riferimento futuro, il mio problema è stato risolto aggiornando il pacchetto alla versione più recente nella confezione. jSON. Ho copiato un vecchio file di esempio senza aggiornare i numeri di versione.

45

Innanzitutto, assicurarsi di disporre dei file key.pem e cert.pem. È possibile generare utilizzando questo comando:

openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem 

Questo genera una coppia di cert-chiave e sarà valida per circa 10 anni (3650 giorni per l'esattezza).

allora avete bisogno di eseguire il server con -S per abilitare SSL e -C per il file del certificato:

$ http-server -S -C cert.pem -o 
Starting up http-server, serving ./ through https 
Available on: 
    https:127.0.0.1:8080 
    https:192.168.1.101:8080 
    https:192.168.1.104:8080 
Hit CTRL-C to stop the server 
+1

Sembra che il mio pacchetto necessitasse solo di un aggiornamento. Dopo aver provato tutto, ho visto che stavo eseguendo una vecchia versione ... – delucasvb

+0

Come posso ottenere questo per utilizzare la stessa chiave e i file PEM dal mio computer locale indipendentemente da quale app o codice di esempio sto correndo? – Costa

+0

BTW se hai mai bisogno di un certificato da una CA ti consiglio di usare https://letsencrypt.org/. Ha risolto i nostri problemi qui. Saluti! – pinkfloyd