Come usi https / SSL su localhost?


88

Vorrei sapere come configurare SSL sulla mia applicazione web su localhost.

Non ho esperienza nel fare questo, mi piacerebbe una guida. Ho già finito di implementare la mia applicazione web e ne ho bisogno per usare https sul localhost o mentre lo ospito su un server.

Qualche idea?

Saluti.


Risposte:


23

Se hai IIS Express (con Visual Studio):

Per abilitare SSL in IIS Express, è sufficiente impostare "SSL Enabled = true" nella finestra delle proprietà del progetto.

Vedere i passaggi e le immagini in questo progetto di codice .

IIS Express genererà un certificato per te (ti verrà richiesto, ecc.). Tieni presente che, a seconda della configurazione, il sito potrebbe comunque iniziare automaticamente con l'URL anziché con l'URL SSL. Puoi vedere l'URL SSL: annota il numero di porta e sostituiscilo nella barra degli indirizzi del browser, dovresti essere in grado di entrare e testare.

Da lì puoi fare clic con il pulsante destro del mouse sul tuo progetto, fare clic sulle pagine delle proprietà, quindi avviare le opzioni e assegnare l'URL di avvio - inserire il nuovo https con la nuova porta (di solito 44301 - notare la somiglianza con la porta 443) e il tuo progetto inizierà correttamente da quel momento sopra.

inserisci qui la descrizione dell'immagine


Posso scegliere la porta? cioè usa la porta https predefinita; porta 443?
The Red Pea

1
@TheRedPea In ogni caso che ho riscontrato devi usare la porta 44301 per testare localmente invece di usare la porta 443. Ciò non influenzerà le porte che usi per il tuo server live (che colleghi in IIS), che sarà quasi sempre 443 supponendo che tu stia utilizzando https.
JackArbiter

21

È facile creare un certificato autofirmato, importarlo e associarlo al tuo sito web.

1.) Crea un certificato autofirmato:

Esegui i seguenti 4 comandi, uno alla volta, da un prompt dei comandi con privilegi elevati:

cd C:\Program Files (x86)\Windows Kits\8.1\bin\x64

makecert -r -n "CN=localhost" -b 01/01/2000 -e 01/01/2099 -eku 1.3.6.1.5.5.7.3.3 -sv localhost.pvk localhost.cer

cert2spc localhost.cer localhost.spc

pvk2pfx -pvk localhost.pvk -spc localhost.spc -pfx localhost.pfx

2.) Importa il certificato nell'archivio delle autorità di certificazione radice attendibili:

start -> esegui -> mmc.exe -> Plugin dei certificati -> "Autorità di certificazione radice attendibili" -> Certificati

Fai clic con il pulsante destro del mouse su Certificati -> Tutte le attività -> Importa Trova il tuo certificato "localhost" in C: \ Programmi (x86) \ Windows Kits \ 8.1 \ bin \ x64 \

3.) Associa il certificato al sito web:

avviare -> (IIS) Manager -> Fare clic sul server -> Fare clic su Siti -> Fare clic sul sito di primo livello -> Associazioni

Aggiungi o modifica un'associazione per https e seleziona il certificato SSL denominato "localhost".

4.) Importa certificato in Chrome:

Impostazioni Chrome -> Gestisci certificati -> Importa certificato .pfx dalla cartella C: \ certificati \

Testare il certificato aprendo Chrome e andando su https: // localhost /


Come ottieni i file che hai appena usato al comando makecert? localhost.pvk localhost.cer cert2spc localhost.cer localhost.spc. Come posso ottenere il file private.key per creare un file allinone.pem da utilizzare in altri server Web, quindi IIS?

Se non desideri importare il certificato in Chrome, puoi scegliere di disabilitare la funzione di sicurezza di Chrome che blocca l'accesso ai certificati autofirmati su localhost stackoverflow.com/a/31900210/2733283
Jason Williams,

8

Questa domanda è davvero vecchia, ma mi sono imbattuto in questa pagina quando stavo cercando il modo più semplice e veloce per farlo. Usare Webpack è molto più semplice:

installa webpack-dev-server

npm i -g webpack-dev-server

avvia webpack-dev-server con https

webpack-dev-server --https

2
Questo servirà i file js che compongono l'applicazione, ma non esegue l'applicazione.
user1944491

Può essere utilizzato insieme a un server di sviluppo esistente come XAMPP?
Prometeo il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.