Configurare un Reverse Proxy in ServBay: Mappa Siti Web Interni o Remoti per lo Sviluppo e il Debug Locale
ServBay è un ambiente di sviluppo Web locale ideato per macOS, che integra supporto per PHP, Node.js, Python, Go, Java e numerosi database come MySQL, PostgreSQL, MongoDB, Redis. Oltre all’hosting diretto dei progetti locali, ServBay offre una potente funzionalità di reverse proxy. Tramite il reverse proxy, puoi facilmente mappare siti web posizionati su reti interne, macchine virtuali, container o persino server remoti nel tuo ambiente locale ServBay, semplificando così sviluppo, debugging e accesso.
Questa guida ti mostra nel dettaglio come configurare un reverse proxy in ServBay, aiutandoti a indirizzare su locale siti accessibili da reti interne o altre destinazioni, per una gestione centralizzata ed efficiente.
Panoramica
Un reverse proxy riceve le richieste dai client (es. il tuo browser) e le inoltra a uno o più server di backend (in questo caso un sito web interno o remoto che vuoi proxyare). ServBay sfrutta il suo web server integrato (Caddy o Nginx) per offrire questa funzione.
I vantaggi principali di un reverse proxy in un ambiente di sviluppo locale includono:
- Punto di accesso unico: Accedi a tutte le risorse interne o esterne tramite il dominio locale di ServBay, senza ricordare indirizzi IP e porte complessi.
- Configurazione SSL semplificata: Utilizza la gestione SSL di ServBay (come ServBay CA o ACME) per fornire accesso HTTPS ai siti proxyati, anche se il sito backend supporta solo HTTP.
- Debug in ambiente locale: Debugga facilmente applicazioni Web remote o interne direttamente dal browser locale.
- Bypass delle restrizioni di rete: Consente di accedere con facilità a risorse interne aziendali o reti limitate dall’ambiente di lavoro locale (purché la macchina dove gira ServBay sia in grado di raggiungere la destinazione).
Prerequisiti
Prima di procedere con la configurazione del reverse proxy, assicurati di:
- Aver installato e avviato ServBay: Il software ServBay deve essere correttamente installato e in esecuzione su macOS.
- Sito di destinazione accessibile: Il sito interno o remoto da proxyare deve essere funzionante, e la macchina macOS con ServBay deve poterne raggiungere direttamente via IP/nome dominio e porta. Ad esempio, se la destinazione è
192.168.1.100:8080
, assicurati che il tuo Mac risponda al ping di192.168.1.100
e sia in grado di accedere a192.168.1.100:8080
.
Passaggi per Aggiungere un Sito Reverse Proxy
Ecco la procedura dettagliata per configurare un sito reverse proxy in ServBay:
Passaggio 1: Apri l’Interfaccia di Gestione ServBay
Cerca l’icona ServBay
nella cartella delle applicazioni su macOS e avvia il programma facendo doppio clic.
Passaggio 2: Vai alla Gestione Siti
Dopo l’avvio, ServBay mostra la schermata principale. Nel menu di navigazione a sinistra, clicca su Siti
. Qui puoi gestire tutti i siti locali e quelli impostati tramite reverse proxy.
Passaggio 3: Aggiungi un nuovo sito
In fondo alla pagina di gestione siti, trova e clicca il pulsante +
. Verrà visualizzato un nuovo modulo sulla destra per configurare il sito.
Passaggio 4: Configura le impostazioni di Reverse Proxy
Nel modulo per il nuovo sito, inserisci le informazioni chiave per definire il comportamento del reverse proxy:
- Nome (Name): Scegli un nome facilmente riconoscibile per il sito reverse proxy, ad es.
Internal Backend Proxy
. - Dominio (Domain): Inserisci il dominio locale tramite cui vuoi accedere al sito proxyato, ad es.
backend.servbay.demo
oproxy.to.local
. ServBay di solito aggiunge automaticamente il dominio inserito al filehosts
di sistema per risolverlo verso127.0.0.1
o::1
. - Protocollo (Protocol): Seleziona il protocollo supportato. Di solito si sceglie
HTTP/HTTPS
per supportare entrambi; ServBay gestirà SSL in automatico. - Metodo richiesta certificato SSL (SSL Certificate Request Method):
- ServBay CA (consigliato per sviluppo locale): ServBay genera e gestisce automaticamente certificati SSL tramite la propria Autorità di Certificazione. Occorre fidarsi del certificato radice ServBay CA nel browser/sistema per evitare avvisi sul certificato.
- ACME (Let's Encrypt): Se il dominio è pubblico e raggiungibile tramite Internet, scegli questa opzione per ottenere certificati SSL pubblici gratuiti da Let's Encrypt.
- Manuale (Manual): Se disponi già di certificati SSL (
.crt
,.key
,.ca-bundle
), caricali e configuralo manualmente. Per sviluppo locale e proxy di risorse interne, si consiglia caldamenteServBay CA
.
- Tipo di sito (Website Type): Seleziona
Reverse Proxy
. Questa è l’opzione fondamentale per abilitare la funzione proxy. - Destinazione proxy (Proxy Target): Inserisci l’indirizzo completo (IP:Porta o URL) del sito Web interno o remoto da proxyare.
- Esempio 1 (IP:Porta):
192.168.1.100:8080
- Esempio 2 (URL con protocollo):
http://192.168.1.100:8080
- Esempio 3 (nome host interno):
backend.internal:8443
(se ServBay riesce a risolvere il nome host) - Esempio 4 (URL remoto):
https://api.example.com
Assicurati che l'indirizzo sia raggiungibile dalla macchina che esegue ServBay.
- Esempio 1 (IP:Porta):
Passaggio 5: Completa e salva la configurazione
Dopo aver compilato tutti i campi richiesti, clicca su Aggiungi (Add)
in fondo al modulo. ServBay salverà la configurazione e genererà automaticamente le regole necessarie nel web server (Caddy o Nginx).
Al termine, il nuovo sito reverse proxy apparirà nell’elenco dei siti.
Passaggio 6: Accedi al sito reverse proxy
Una volta configurato, puoi accedere al sito interno o remoto tramite il dominio scelto (es. proxy.to.local
o backend.servbay.demo
) direttamente dal browser.
Se hai usato ServBay CA e HTTPS, dovrai gestire eventuali avvisi del browser la prima volta che accedi (se il certificato CA di ServBay non è ancora stato considerato attendibile).
Passaggio 7: Azioni rapide sui siti
ServBay ti offre pratici pulsanti di azione per gestire ciascun sito:
- Apri la root directory del sito nell’IDE: Per i siti reverse proxy potrebbe non essere rilevante, in quanto non hanno directory locali.
- Apri il sito nel browser: Accedi rapidamente dal browser predefinito.
- Visualizza i log del sito: Consulta i log di accesso ed errori del web server per quel sito (Caddy/Nginx), strumenti preziosi per il debugging.
- Metti in pausa/riattiva il sito: Abilita/disabilita temporaneamente la configurazione reverse proxy.
- Elimina sito: Rimuovi il sito reverse proxy da ServBay.
Domande Frequenti e Soluzioni (FAQ)
D: Il sito non è raggiungibile e il browser mostra un errore.
- Controlla lo stato di ServBay: Verifica che ServBay sia effettivamente in esecuzione e che il web server (Caddy/Nginx) sia avviato.
- Controlla la risoluzione DNS: Assicurati che il dominio digitato in browser sia corretto e risolva all’IP locale di ServBay (di solito ServBay modifica in automatico il file
hosts
, verifica a mano se necessario). - Controlla i log del sito su ServBay: Clicca su “Visualizza log” nell’elenco siti per vedere i log del web server. Qui trovi richieste client, tentativi di connessione e messaggi d’errore utili per la diagnosi.
- Controlla firewall/software di sicurezza: Assicurati che firewall o software di sicurezza di macOS non blocchino le porte 80/443 o le connessioni dal ServBay verso la destinazione proxyata.
D: Il Mac può accedere direttamente all’indirizzo proxy, ma tramite dominio ServBay c’è errore.
- Verifica il formato della destinazione proxy: L’indirizzo inserito in ServBay deve essere nel formato corretto e realmente raggiungibile dalla macchina. Prova in terminale con
curl [indirizzo proxy]
per testare la connessione. - Verifica la configurazione del server di destinazione: Alcuni server backend controllano l’intestazione
Host
. ServBay inoltra di default l’header originale del client. Se il backend richiede unHost
specifico (ad esempio un dominio interno), e tu accedi da ServBay con un dominio diverso, potresti riscontrare problemi. Nelle impostazioni avanzate di ServBay è possibile personalizzare gli header (occorre modificare manualmente il file Caddyfile o la config di Nginx; questa operazione è avanzata). - Verifica il firewall della destinazione: Anche se il Mac può raggiungere IP e porta, il firewall del server potrebbe permettere l’accesso solo da determinati IP (es. solo reti locali). Assicurati che il server accetti connessioni dal Mac con ServBay.
D: Usando HTTPS sul sito proxy, compare un avviso relativo al certificato.
- Uso di ServBay CA: Questo è normale; ServBay CA è una CA privata non riconosciuta dai browser. Devi fidarti manualmente del certificato root di ServBay CA sul tuo sistema o browser. Puoi installare il root CA di ServBay dalle “Impostazioni”.
- Uso di ACME (Let's Encrypt): Controlla che il dominio punti realmente all'IP della macchina ServBay e che sul pannello SSL di ServBay sia stato richiesto il certificato ACME. Consulta i log per dettagli sugli errori nel processo di richiesta ACME.
D: Come proxyare destinazioni che richiedono intestazioni o cookie specifici?
La configurazione base di reverse proxy ServBay inoltra la maggior parte delle informazioni della richiesta del client. Per altri scenari avanzati—come l'aggiunta di intestazioni personalizzate, la modifica delle intestazioni di risposta, la gestione di cookie specifici o l'applicazione di rewrite ai path—serve accedere alle impostazioni avanzate, modificando a mano i file di configurazione Caddyfile o Nginx per definire regole su misura. Un minimo di conoscenza della sintassi di configurazione Caddy/Nginx è consigliato.
Conclusione
Grazie alla funzione di reverse proxy di ServBay, puoi integrare facilmente siti Web su reti interne, VM, container o server remoti nel tuo ambiente di sviluppo locale. Questo non offre solo un punto di accesso unificato e pratico, ma semplifica anche il debug locale e la gestione SSL. Seguendo i passaggi indicati in questa guida, puoi impostare rapidamente il proxy e iniziare a usarlo. Grazie alle funzionalità di log intensivo e troubleshooting di ServBay, garantirai stabilità e aumenterai la produttività durante lo sviluppo.