Visualizzazione post con etichetta webpack-dev-server. Mostra tutti i post
Visualizzazione post con etichetta webpack-dev-server. Mostra tutti i post
domenica 17 maggio 2020
Come sviluppare in locale con webserver in https
C'è bisogno di generare un certificato auto firmato e di aggiungerlo al keystore di windows per fare in modo che Chrome lo riconosca come valido.
Diverse guide consigliano la strada della generazione del certificato mediante openssl e di aggiungerlo manualmente al keystore. Dopo ore di tentativi non ci
sono riuscito e ho ripiegato sull'ottima utility FiloSottile/mkcert https://github.com/FiloSottile/mkcert
In windows procedere nel seguente modo:
- Installare l'utility mediante Chocolatey come consigliato dal sito
choco install mkcert
- Eseguire il seguente comando per creare un'autorità di certificazione attendibile
mkcert -install
- Eseguire il seguente comando per creare un certificato da usare con i vari webservers
mkcert example.test "*.example.test" example.test localhost 127.0.0.1 ::1 dev.localhost.test
Con il comando di cui sopra andiamo a creare un certificato valido per tutti quei domini specificati
- Aprire come administrator il file C:\Windows\System32\drivers\etc\hosts ed inserire le mappature di nome/indirizzo ip a seconda di quello che avete scritto sopra come domini di sviluppo
Ad esempio:
127.0.0.1 example.test
127.0.0.1 dev.localhost.test
::: Configurazione di Apache
La configurazione di apache per l'ssl di solito si trova in apache\conf\extra\httpd-ssl.conf e dobbiamo specificare il certificato e la chiave appena creata
Nel mio caso le due righe sono:
SSLCertificateFile "c:/Apache24/certs/example.test+6.pem"
SSLCertificateKeyFile "c:/Apache24/certs/example.test+6-key.pem"
::: Configurazione di webpack-dev-server
Il comando start di package.json deve essere simile al seguente:
"start": "webpack-dev-server --open chrome --https --mode development --host dev.localhost.test --port 8080 --cert=ssl/example.test+6.pem --key=ssl/example.test+6-key.pem"
i certificati vanno messi all'interno di una cartella chiamata, per esempio ssl, all'interno della directory del progetto, cioè dove si trova package.json
Nota Bene: fare attenzioni a possibili conflitti di porte già in uso come la 8080
Post Scriptum:
Dopo ore di tentativi con openssl ho ripiegato su questa semplice utility mkcert. Probabilmente sbagliavo nel fatto che mediante openssl dovevo prima generare un certificato di autorità attendibile e solo successivamente generare i certificati per i domini desiderati mediante la firma degli stessi con il certificato di autorità generato prima.
(-;
Etichette:
apache,
certificati,
chrome,
https,
nodejs,
webpack-dev-server
Iscriviti a:
Post (Atom)