Italiano
  • https
  • tls
  • nginx
  • express
  • proxy

Gestione dello sviluppo locale HTTPS

Esplora come implementare HTTPS locale nel tuo flusso di lavoro di sviluppo con strumenti come Mkcert e guide passo passo per Express.js e Next.js.

Sijie
Sijie
Developer

Durante lo sviluppo di applicazioni web, scenari specifici richiedono HTTPS, anche in un ambiente locale. Che tu stia integrando API di terze parti sicure, testando funzionalità solo HTTPS come service worker e HTTP/2, o replicando condizioni di produzione per garantire un rilascio senza interruzioni, HTTPS diventa cruciale. Inoltre, alcune API dei browser—come la geolocalizzazione, le notifiche push e la gestione delle credenziali—richiedono un contesto sicuro per funzionare efficacemente.

Ad esempio, Logto OSS richiede HTTPS per impostazione predefinita tranne localhost, in tali casi, imparare a configurare HTTPS per lo sviluppo locale può farti risparmiare tempo. Questo articolo ti guiderà attraverso la configurazione di HTTPS per lo sviluppo locale, introducendo strumenti come Mkcert per semplificare il processo.

Il ruolo di localhost e le funzionalità solo HTTPS

localhost è un dominio speciale che può gestire molte funzionalità solo HTTPS come i service worker, cookie sicuri, HTTP/2 e altre API dei browser possono funzionare bene in http://localhost:xxxx, quindi potresti non aver sempre bisogno di HTTPS locale, prova localhost prima!

Prova i tunnel Cloudflare

Precedentemente introdotti in questo articolo, i tunnel Cloudflare possono facilmente esporre il tuo servizio locale su Internet con HTTPS pronto.

Configurazione di HTTPS locale

Le 2 opzioni non possono risolvere il tuo problema? Allora configuriamo HTTPS locale. Nei passaggi seguenti, assumiamo che il nome di dominio locale sia example.com.

Passo 1: aggiorna il file hosts

Prima di iniziare, assicurati che il dominio di destinazione risolva sulla tua macchina locale, questo può essere fatto aggiornando il file hosts. Apri /etc/hosts su Linux/macOS o C:\Windows\System32\drivers\etc\hosts su Windows, e aggiungi le seguenti righe:

Passo 2: genera i certificati

La prima cosa riguardante HTTPS è una certificazione. In produzione, questo può essere fatto con strumenti come "Let's encrypt" o acquistare certificati dai tuoi fornitori di servizi. Ma nello sviluppo locale, possiamo generare certificati direttamente.

Mkcert è uno strumento semplice e senza configurazioni per creare certificati di sviluppo locali affidabili con qualsiasi nome desiderato.

Innanzitutto, segui la guida ufficiale per installare mkcert, assumendo che tu stia usando macOS:

Per Windows e Linux, controlla questo link.

Ora che mkcert è pronto per l'uso, esegui questo comando per generare una CA locale e archiviare il certificato radice nel tuo store di fiducia di sistema. Per saperne di più su "CA" e certificati, controlla la documentazione di Cloudflare.

Quindi, genera un certificato SSL locale

Questa operazione crea i file example.com.pem e example.com-key.pem nella tua directory.

Passo 3: configura HTTPS nella tua app

Con i file dei certificati pronti, puoi ora abilitare HTTPS nella tua app. A differenza dell'ambiente di produzione dove un proxy inverso come Nginx gestisce l'HTTPS, nello sviluppo locale possiamo configurare direttamente nelle applicazioni web. Prendiamo Express come esempio.

Crea un semplice server Express con il seguente codice:

Esegui l'applicazione e visita https://example.com per vedere la tua app Express sicura in azione.

Abilita HTTPS per Logto OSS

Logto OSS richiede HTTPS per impostazione predefinita, eccetto localhost, se vuoi eseguire Logto localmente con un altro dominio, dovrai configurare HTTPS locale.

  1. Configura Logto: Segui il link per configurare Logto sulla tua macchina locale: https://docs.logto.io/docs/get-started/.
  2. Prepara i certificati: Usa mkcert per generare due file .pem e posizionali in una directory.
  3. Imposta variabili di ambiente: Fornisci sia HTTPS_CERT_PATH che HTTPS_KEY_PATH per abilitare HTTPS tramite Node, controlla questo link per saperne di più.

Sommario

Configurare HTTPS per lo sviluppo locale non è così complicato come potrebbe sembrare. Con l'aiuto di strumenti come Mkcert, generare certificati locali affidabili diventa un processo rapido e semplice. Anche se localhost Bold gestisce spesso molte funzionalità solo HTTPS, ci sono momenti in cui è necessario un supporto HTTPS completo, e questa guida ti aiuta a raggiungerlo. Che tu stia testando API, lavorando con Logto OSS, o semplicemente replicando condizioni di produzione, seguendo questi passaggi ti assicurerai di essere pronto per uno sviluppo sicuro e senza interruzioni.