Guida all'implementazione del servizio di reverse proxy Pinggy in ServBay
Pinggy è uno strumento di tunneling interno semplice da usare che, attraverso la tecnologia di reverse proxy, consente di esporre in modo sicuro i tuoi servizi locali su internet. Questa guida fornirà indicazioni dettagliate su come utilizzare Pinggy nell'ambiente ServBay per accedere rapidamente ai servizi web locali.
Principi Tecnici
Pinggy crea un tunnel SSH sicuro che mappa i servizi locali posizionati dietro NAT/firewall su internet. Nel contesto di ServBay, questo permette agli sviluppatori di pubblicare facilmente i servizi web in fase di debug locale in tempo reale, facilitando la collaborazione del team, i test remoti e le dimostrazioni.
Preparazione dell'Ambiente
Non è necessaria l'installazione di alcun client! Uno dei principali vantaggi di Pinggy è che non richiede l'installazione di software sul computer locale. È sufficiente avere un terminale che supporti SSH.
Configurazione del Tunnel
Comandi Principali
Stabilire un tunnel con Pinggy è molto semplice. Basta eseguire il seguente comando nel terminale:
ssh -p 443 -R0:localhost:443 -o StrictHostKeyChecking=no -o ServerAliveInterval=30 -t [email protected] x:localServerTls:servbay.new "u:host:servbay.new"
Componente del Comando | Descrizione |
---|---|
-p 443 | Specifica che la connessione SSH al server Pinggy utilizza la porta 443 (porta predefinita per HTTPS). |
-R0:localhost:443 | Port forwarding remoto. 0 indica di far sì che il server Pinggy assegni automaticamente una porta casuale. localhost:443 significa reindirizzare la porta remota alla porta locale 443 (HTTPS). |
-o StrictHostKeyChecking=no | Disabilita il controllo della chiave host SSH (comodo durante la prima connessione o test, ma non raccomandato in ambiente di produzione). |
-o ServerAliveInterval=30 | Invia un messaggio keep-alive ogni 30 secondi per mantenere attiva la connessione SSH. |
-t [email protected] | Nome utente e indirizzo del server Pinggy. |
x:localServerTls:servbay.new | Parametri personalizzati di Pinggy, specificando che il nome di dominio TLS del server locale è servbay.new . |
"u:host:servbay.new" | Parametri personalizzati di Pinggy, impostando l'intestazione Host della richiesta entrante su servbay.new . |
Dopo il successo dell'esecuzione del comando, verrà restituito l'URL per l'accesso:
http://rnirh-172-188-50-148.a.free.pinggy.link
https://rnirh-172-188-50-148.a.free.pinggy.link
2
Verifica del Servizio
- Verifica usando
curl
(raccomandata): Utilizza il comandocurl
per effettuare un test.
curl -I https://rnirh-172-188-50-148.a.free.pinggy.link
Il contenuto dell'output sarà simile a questo:
HTTP/1.1 200 OK
Connection: close
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Content-Type, Authorization
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin: *
Cache-Control: max-age=0, must-revalidate, no-cache, no-store, private
Connection: keep-alive
Content-Type: text/html; charset=UTF-8
Date: Tue, 18 Feb 2025 11:51:48 GMT
Expires: Sun, 02 Jan 1990 00:00:00 GMT
Pragma: no-cache
Server: nginx
Vary: Accept-Encoding
X-Frame-Options: SAMEORIGIN
X-Powered-By: PHP/8.4.3
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Accesso da Browser: Apri direttamente il browser e accedi a
https://rnirh-172-188-50-148.a.free.pinggy.link
Risultati Attesi:
- Presenta contenuti web corrispondenti a quelli del servizio ServBay locale.
- Se il tuo servizio locale è configurato per HTTPS, Pinggy supporterà automaticamente HTTPS.
- I tempi di risposta sono generalmente rapidi (dipendenti dalla tua rete locale e dalla connessione al server Pinggy).
Suggerimenti Avanzati
Nome di Dominio Personalizzato: Gli utenti di Pinggy Pro possono utilizzare nomi di dominio personalizzati. Per maggiori dettagli, consultare la documentazione di Pinggy.
Tunnel TCP: Se i tuoi servizi non sono HTTP/HTTPS, puoi utilizzare la funzionalità di tunnel TCP di Pinggy:
bashssh -R <REMOTE_PORT>:localhost:<LOCAL_PORT> a.pinggy.io
1Sostituisci
<REMOTE_PORT>
con la porta che desideri utilizzare sul server Pinggy.Tunnel Persistenti (usando
autossh
): Se la tua rete è instabile o desideri mantenere il tunnel aperto a lungo termine, si consiglia di utilizzareautossh
.autossh
si riconnetterà automaticamente dopo la disconnessione dell'SSH.
Risoluzione dei Problemi
Fenomeno | Soluzione |
---|---|
Timeout di Connessione | Verifica che il servizio ServBay sia in esecuzione e che <LOCAL_PORT> sia corretto. |
Errore 404 (Not Found) | Se utilizzi un host virtuale, assicurati di aver utilizzato il comando curl come indicato nell'esempio di configurazione (con la corretta intestazione Host ). |
Impossibile Accedere all'URL di Pinggy | Controlla la tua connessione di rete e assicurati di poter accedere a a.pinggy.io . |
Disconnessioni Intermittenti | Questo può essere dovuto a una rete instabile. Prova a usare autossh per stabilire una connessione più affidabile (consultare la sezione “Suggerimenti Avanzati”). |
Riepilogo della Soluzione
Grazie a Pinggy, gli sviluppatori possono stabilire canali di accesso pubblico sicuri in modo estremamente semplice e veloce nell'ambiente ServBay. Questa soluzione presenta i seguenti vantaggi:
- Nessuna installazione necessaria: Semplifica il processo di configurazione, riducendo le dipendenze.
- Operazione con un clic: È possibile avviare il tunnel con un singolo comando SSH.
- Supporto HTTPS automatico: Non è necessaria una configurazione manuale del certificato SSL.
- Supporto per tunnel HTTP e TCP: Soddisfa diverse esigenze di servizio.
- Comandi senza token: Puoi condividere direttamente l'URL, senza preoccuparti di eventuali perdite di token.
Pinggy fornisce un modo più conveniente rispetto a Ngrok, particolarmente idoneo per test rapidi e condivisioni temporanee di servizi locali. Per scenari che richiedono un funzionamento stabile a lungo termine o nomi di dominio personalizzati, si può considerare la versione Pro di Pinggy.