Configurazione del reverse proxy in ServBay: mappare siti interni o remoti in locale per sviluppo e debug
ServBay è un ambiente di sviluppo web locale per macOS e Windows, che integra PHP, Node.js, Python, Go, Java e diversi database come MySQL, PostgreSQL, MongoDB e Redis. Oltre all’hosting diretto di progetti locali, ServBay offre una potente funzionalità di reverse proxy. Grazie al reverse proxy, puoi facilmente mappare siti web presenti in rete locale, macchine virtuali, container o persino server remoti all’interno del tuo ambiente locale ServBay, semplificando i processi di sviluppo, debug e accesso.
Questa guida illustra nel dettaglio come configurare un reverse proxy in ServBay, aiutandoti a instradare siti presenti su indirizzi interni o accessibili, così da gestirli e testarli in locale in modo efficiente e centralizzato.
Panoramica
Il server reverse proxy riceve le richieste dei client (ad esempio dal browser) e le inoltra a uno o più server backend (in questo caso i siti web interni o remoti da proxyare). ServBay utilizza il suo web server integrato (Caddy o Nginx) per offrire questa funzione.
Nell’ambito dello sviluppo locale, i vantaggi principali del reverse proxy sono:
- Punto di accesso unificato: Accedi a tutte le risorse interne o esterne tramite il dominio locale di ServBay, senza dover ricordare IP o porte complicati.
- Semplificazione dell’SSL: Puoi usare la gestione SSL integrata di ServBay (ServBay CA o ACME) per abilitare l’accesso HTTPS ai siti proxyati, anche se i backend sono solo HTTP.
- Debug locale: Testa facilmente applicazioni web remote o interne direttamente dal browser in ambiente locale.
- Bypass di restrizioni di rete: In alcuni casi, puoi accedere in modo semplice a risorse aziendali interne o reti limitate dal tuo ambiente lavorativo locale (purché la macchina ServBay possa raggiungere l’indirizzo di destinazione).
Prerequisiti
Prima di configurare il reverse proxy, verifica di soddisfare questi requisiti:
- ServBay installato e funzionante: Accertati che l’applicazione ServBay sia correttamente installata e avviata sul tuo sistema macOS.
- Sito di destinazione accessibile: Il sito web interno o remoto che vuoi proxyare deve essere attivo e la macchina con ServBay deve poterlo raggiungere via rete (IP/dominio e porta). Ad esempio, se la destinazione è
192.168.1.100:8080
, verifica che il tuo Mac risponda al ping su192.168.1.100
e possa accedere a192.168.1.100:8080
.
Come aggiungere un sito reverse proxy
Di seguito i passaggi dettagliati per configurare un sito reverse proxy in ServBay:
Passaggio 1: Avvia l’interfaccia di gestione di ServBay
Individua l’icona ServBay
nella cartella Applicazioni del tuo Mac e avvia il programma con un doppio clic.
Passaggio 2: Vai alla gestione siti
Una volta avviato ServBay, accedi alla schermata principale. Nel menu di navigazione a sinistra, clicca su Siti
. Questa sezione ti permette di gestire tutti i siti locali e reverse proxy.
Passaggio 3: Aggiungi un nuovo sito
In fondo alla pagina di gestione siti, trova e clicca il pulsante +
. Si aprirà un nuovo modulo sulla destra per configurare il sito.
Passaggio 4: Configura le impostazioni del reverse proxy
Nel modulo per il nuovo sito, inserisci le informazioni essenziali per definire il comportamento del reverse proxy:
- Nome: Dai al tuo sito proxy un nome riconoscibile, ad esempio:
Internal Backend Proxy
. - Dominio: Inserisci il dominio con cui vuoi accedere al sito proxy in locale, ad esempio:
backend.servbay.demo
oppureproxy.to.local
. Di solito, ServBay aggiunge automaticamente i domini di sviluppo al filehosts
di sistema per risolverli su127.0.0.1
o::1
. - Protocollo: Seleziona il protocollo supportato dal sito. In genere
HTTP/HTTPS
per supportare entrambe le modalità. ServBay gestirà l’SSL in base alla configurazione. - Metodo richiesta certificato SSL:
- ServBay CA (consigliato per sviluppo locale): Genera e gestisce automaticamente il certificato SSL tramite la CA integrata di ServBay. Dovrai fidarti della CA ServBay nel browser o sistema per evitare avvisi di sicurezza.
- ACME (Let's Encrypt): Se il tuo dominio è pubblico e raggiungibile da Internet, puoi ricevere il certificato SSL gratuito da Let's Encrypt.
- Manuale: Se possiedi file di certificato già pronti (
.crt
,.key
,.ca-bundle
), puoi caricarli manualmente. Per sviluppo locale e risorse interne si raccomanda vivamenteServBay CA
.
- Tipo sito: Seleziona
Reverse Proxy
, essenziale per attivare la funzionalità proxy. - Destinazione proxy: Inserisci l’indirizzo completo del sito interno o remoto da proxyare, può essere formato
IP:Port
o URL con protocollo.- Esempio 1 (IP:Port):
192.168.1.100:8080
- Esempio 2 (URL con protocollo):
http://192.168.1.100:8080
- Esempio 3 (hostname interno):
backend.internal:8443
(se ServBay può risolvere quell’hostname) - Esempio 4 (URL remoto):
https://api.example.com
Assicurati che la macchina con ServBay possa raggiungere direttamente l’indirizzo inserito.
- Esempio 1 (IP:Port):
Passaggio 5: Termina e salva la configurazione
Dopo aver compilato tutti i dati necessari, clicca il pulsante Aggiungi (Add)
in fondo al modulo. ServBay salverà le impostazioni e genererà le regole reverse proxy sul suo web server (Caddy o Nginx).
Se il salvataggio va a buon fine, il nuovo sito reverse proxy apparirà nell’elenco dei siti.
Passaggio 6: Accedi al sito reverse proxy
Ora puoi digitare nel browser il dominio scelto in precedenza (ad esempio proxy.to.local
o backend.servbay.demo
) per accedere al sito interno o remoto tramite proxy.
Se hai scelto ServBay CA e HTTPS, potrebbe essere necessario gestire gli avvisi di certificato al primo accesso (se la CA ServBay non è ancora installata come attendibile).
Passaggio 7: Azioni rapide sui siti
ServBay offre pratici pulsanti per gestire ogni sito:
- Apri la root del sito con l’IDE: Per i siti reverse proxy, questo pulsante potrebbe non essere utilizzato, dato che non hanno una cartella locale associata.
- Apri il sito nel browser: Accedi immediatamente al sito tramite il browser predefinito.
- Visualizza log sito: Consulta i log (accesso/errore) del server web di ServBay per questo sito, utili per il debug.
- Pausa/attiva sito: Abilita/disabilita temporaneamente la configurazione del reverse proxy.
- Elimina sito: Rimuovi la configurazione reverse proxy da ServBay.
Domande frequenti e soluzioni (FAQ)
D: Il sito non è accessibile, il browser mostra errore.
- Controlla lo stato di ServBay: Verifica che ServBay sia in esecuzione e che il suo web server (Caddy/Nginx) sia attivo.
- Controlla la risoluzione del dominio: Assicurati di aver inserito il dominio corretto sul browser e che venga risolto all’IP locale di ServBay (di solito ServBay modifica il file
hosts
, ma puoi fare una verifica manuale). - Consulta i log di ServBay: Usa il pulsante “Visualizza log” nell’elenco siti per vedere i log del server web. Troverai dettagli sulle richieste client, i tentativi di connessione al target proxy e eventuali errori, essenziali per individuare il problema.
- Controlla firewall/software di sicurezza: Verifica che il firewall o software di sicurezza del Mac non blocchino le porte 80 o 443, né impediscano a ServBay di collegarsi all’indirizzo proxy di destinazione.
D: ServBay raggiunge il sito target, ma il browser mostra errore usando il dominio locale.
- Controlla il formato della destinazione proxy: Assicurati che l’indirizzo inserito in ServBay sia corretto e che la macchina con ServBay possa raggiungerlo direttamente. Testa con il comando
curl [indirizzo destinazione]
sul terminale del Mac. - Verifica la configurazione del server target: Alcuni server backend controllano l’header
Host
. Di default, ServBay inoltra l’header originale della richiesta client. Se il server richiede un headerHost
specifico (ad es. un dominio interno) e tu usi un altro dominio tramite ServBay, possono verificarsi problemi. Nelle configurazioni avanzate di ServBay puoi modificare gli header (potresti dover editare a mano Caddyfile o la configurazione Nginx). - Controlla il firewall del server target: Anche se ServBay raggiunge IP e porta, il firewall del server target potrebbe accettare connessioni solo da certi IP (come quelli interni). Assicurati che vengano accettate le connessioni dalla macchina con ServBay.
D: Ricevo avvisi di certificato accedendo in HTTPS al sito proxy.
- Usi ServBay CA: È normale, in quanto ServBay CA è una autorità certificante privata e non è riconosciuta dai browser pubblici. Devi installare manualmente il certificato root ServBay CA sul tuo sistema o browser per evitare avvisi di sicurezza. Puoi farlo facilmente dalle impostazioni di ServBay.
- Usi ACME (Let's Encrypt): Controlla che il dominio punti correttamente all’IP della macchina ServBay e che il certificato sia stato richiesto con successo tramite la piattaforma SSL di ServBay. Consulta i log per eventuali errori nella richiesta ACME.
D: Come posso proxyare siti che richiedono header o cookie particolari?
La configurazione base del reverse proxy in ServBay inoltra la maggior parte delle informazioni della richiesta client. Se ti servono regole più complesse, come aggiungere header personalizzati, modificare header di risposta, gestire cookie specifici o fare rewrite dei path, devi accedere alle impostazioni avanzate di ServBay e modificare manualmente il Caddyfile o la configurazione Nginx. Questa operazione richiede una certa familiarità con la sintassi di configurazione di Caddy o Nginx.
Conclusione
Grazie al reverse proxy di ServBay puoi integrare facilmente siti web presenti in reti locali, macchine virtuali, container o server remoti nel tuo ambiente di sviluppo locale. Ottieni così un accesso centralizzato e pratico, semplificando il debug e la gestione SSL. Seguendo questi passaggi puoi configurare e utilizzare il reverse proxy rapidamente. Usando le funzioni di log e le tecniche di troubleshooting di ServBay, assicurerai il funzionamento stabile dei siti proxy e potrai aumentare notevolmente la tua produttività nello sviluppo.