Configurazione del servizio di proxy inverso Ngrok in ServBay
Ngrok è uno strumento di tunnel sicuro basato sulla tecnologia di proxy inverso, in grado di attraversare i firewall per mappare i servizi locali su Internet. Questa guida analizzerà in dettaglio come implementare il servizio Ngrok nell'ambiente ServBay per consentire l'accesso internet ai servizi web locali.
Principi Tecnici
Ngrok crea un tunnel crittografato per mappare i servizi locali, situati dietro NAT/firewall, su un dominio pubblico. Nel contesto di ServBay, questa soluzione consente agli sviluppatori di pubblicare in tempo reale i servizi web che stanno testando in locale, facilitando la collaborazione del team e i test remoti.
Preparazione dell'Ambiente
1. Installazione del client Ngrok
Completare il deployment dello strumento CLI Ngrok seguendo i passaggi seguenti:
- Visitare la pagina di download ufficiale per scaricare il pacchetto di installazione per il sistema operativo pertinente.
- Estrarre e posizionare nella directory PATH di sistema (prendendo come esempio macOS con architettura ARM):bash
sudo unzip ~/Downloads/ngrok-v3-stable-darwin-arm64.zip -d /usr/local/bin
1 - Verificare la completezza dell'installazione:bash
ngrok version # ngrok version 3.5.0
1
2
Configurazione del Tunnel in Pratica
Descrizione dei Parametri Chiave
La struttura del comando standard per avviare il mapping del servizio è la seguente:
ngrok http --domain=<NGROK_DOMAIN> <LOCAL_ENDPOINT> \
--request-header-add='host: <VIRTUAL_HOST>'
2
Componente Parametrico | Descrizione Funzionale |
---|---|
http | Dichiara un tunnel per il protocollo HTTP |
--domain | Specifica il nome di dominio fisso assegnato da Ngrok (da sostituire con il dominio effettivo) |
<LOCAL_ENDPOINT> | Indirizzo del servizio ServBay locale (predefinito https://servbay.host ) |
--request-header-add | Riscrive l'intestazione Host per garantire una corretta rotta delle richieste |
Esempio di Configurazione
Supponiamo di voler mappare il servizio locale servbay.local
sul dominio pubblico cunning-lacewing-fresh.ngrok-free.app
, eseguendo il comando:
ngrok http --domain=cunning-lacewing-fresh.ngrok-free.app https://servbay.local \
--request-header-add='host: servbay.local'
2
Al termine dell'esecuzione, il terminal mostrerà informazioni sullo stato del tunnel, inclusi indirizzo di accesso pubblico e monitoraggio del traffico in tempo reale.
Verifica del Servizio
Dopo aver completato la configurazione, seguire i seguenti passaggi per la verifica:
- Accedere al dominio Ngrok tramite il browser:
https://cunning-lacewing-fresh.ngrok-free.app
1 - Risultati attesi:
- Visualizzazione dei contenuti web coerenti con il servizio locale
- Identificazione valida della connessione sicura HTTPS
- Tempi di risposta entro un intervallo ragionevole (di solito <500ms)
Immagine: pagina web accessibile tramite Ngrok
Tecniche Avanzate
Gestione del Dominio:
- Richiedere un dominio personalizzato dal dashboard di Ngrok
- Gli utenti aziendali possono associare un proprio dominio (è necessaria l'upgrade al piano a pagamento)
Mappatura di più Servizi:
bash# Mappare simultaneamente i servizi HTTP/HTTPS ngrok http --domain=your-domain.ngrok.app 80 ngrok tls --domain=your-domain.ngrok.app 443
1
2
3Comandi Diagnostici:
bashngrok config check # Verifica del file di configurazione ngrok logs # Visualizza i log in tempo reale
1
2
Risoluzione dei Problemi
Fenomeno | Soluzione |
---|---|
Timeout di connessione | Controllare lo stato del servizio ServBay e la situazione delle porte in uso |
Errore nel certificato HTTPS | Assicurarsi che il parametro --request-header-add sia configurato correttamente |
Disconnessioni intermittenti | Verificare la stabilità della rete, si consiglia di utilizzare una connessione cablata |
Sommario del Progetto
Attraverso la soluzione di proxy inverso Ngrok, gli sviluppatori possono rapidamente stabilire un tunnel sicuro per l'accesso pubblico nell'ambiente ServBay. Questa configurazione offre i seguenti vantaggi:
- Nessuna modifica del codice necessaria per l'esposizione dei servizi
- Supporto per il monitoraggio e l'analisi del traffico in tempo reale
- Protezione di livello aziendale (è necessaria la configurazione delle politiche di accesso)
Si consiglia di utilizzare il piano a pagamento di Ngrok in ambienti di produzione per garantire un servizio più stabile.