Guida alla configurazione del servizio di proxy inverso FRP in ServBay
FRP è uno strumento di proxy inverso ad alte prestazioni che implementa un tunnel attraverso un'architettura client-server per il bypass della rete interna. Questa guida assisterà gli utenti di ServBay nella configurazione del client frpc per creare un tunnel sicuro e ottenere l'accesso pubblico ai servizi locali.
Principio tecnico
FRP stabilisce un tunnel di comunicazione crittografato tramite il server (frps) e il client (frpc), mappando i servizi interni su un server pubblico. Questa soluzione supporta vari protocolli come TCP, UDP, HTTP e HTTPS, ed è adatta per scenari come il debugging remoto e il testing delle API nell'ambiente di sviluppo ServBay.
Preparazione dell'ambiente
1. Installazione del client FRP
Seguire i passaggi seguenti per installare il client frpc:
- Visita la pagina di rilascio di GitHub per scaricare la versione appropriata.
- Decomprimere e installare nel PATH del sistema (ad esempio, per l'architettura macOS ARM):bash
tar -zxvf frp_0.61.1_darwin_arm64.tar.gz sudo cp frp_0.61.1_darwin_arm64/frpc /usr/local/bin/
1
2 - Verificare l'installazione:bash
frpc -v # frpc version 0.61.1
1
2
Configurazione del tunnel
Descrizione del file di configurazione
Creare un file di configurazione chiamato frpc.toml
, la struttura di base è la seguente:
serverAddr = your-frps-server.com
serverPort = 7000
auth.method = token
auth.token = your_authentication_token
[[proxies]]
name = "test_web"
type = "http"
localPort = 80
customDomains = servbay.your-domain.com
2
3
4
5
6
7
8
9
10
Voce di configurazione | Descrizione |
---|---|
serverAddr | Indirizzo pubblico del server FRP |
serverPort | Porta di comunicazione del server FRP (default 7000) |
auth.method | Metodo di autenticazione del server |
auth.token | Chiave di autenticazione del server |
type | Tipo di proxy (http/https/tcp, ecc.) |
localPort | Porta del servizio locale |
customDomains | Nome del dominio per accesso esterno |
Esempio di configurazione tipica
Mappare il servizio HTTPS locale di ServBay su Internet:
In questo esempio:
- L'indirizzo del server FRP è
frps.servbay.demo
- Il nome di dominio configurato localmente per ServBay è
servbay.test
- Il nome di dominio per il servizio pubblico è
test-frp.servbay.app
(il dominio deve essere risolto tramite DNS sull'indirizzo IP del server FRP)
serverAddr = frps.servbay.demo
serverPort = 7000
auth.method = "token"
auth.token = servbay
[[proxies]]
name = "servbay-frpc-demo"
type = "https"
customDomains = ["test-frp.servbay.app"]
[proxies.plugin]
type = "https2https"
localAddr = "127.0.0.1:443"
crtPath = "/Applications/ServBay/ssl/private/tls-certs/servbay.test/servbay.test.crt"
keyPath = "/Applications/ServBay/ssl/private/tls-certs/servbay.test/servbay.test.key"
hostHeaderRewrite = "servbay.test"
requestHeaders.set.x-from-where = "frp"
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Avviare il servizio:
frpc -c frpc.toml
Verifica del servizio
- Accedere al nome di dominio mappato tramite il browser:
https://test-frp.servbay.app
1 - Verificare i parametri di verifica:
- Restituisce codice di stato HTTP 200
- Il contenuto della risposta corrisponde a quello del servizio locale
- Verifica della validità del certificato SSL
Diagnostica dei log
frpc -c frpc.toml --log_level debug # Attiva il log di debug
tail -f /var/log/frpc.log # Monitora i log in tempo reale
2
Guida alla risoluzione dei problemi
Fenomeno | Soluzione |
---|---|
Autenticazione fallita | Controllare che la configurazione auth.token corrisponda a quella del server |
Problemi di risoluzione del dominio | Assicurarsi che il DNS punti correttamente all'IP del server FRP |
Conflitti di porta | Utilizzare lsof -i :PORT per controllare l'occupazione della porta |
Tunnel frequentemente disconnesso | Modificare i parametri di heartbeat: heartbeat_timeout = 30 |
Vantaggi della soluzione
La soluzione FRP offre ai clienti di ServBay i seguenti valori chiave:
- Supporto multi-protocollo per soddisfare scenari aziendali complessi
- Aggiornamenti di configurazione a caldo senza riavviare il servizio
- Supporto proxy a cascata per il bypass multi-livello della rete interna
- Architettura open source per garantire la sicurezza e il controllo dei dati
Si consiglia di abilitare la comunicazione crittografata TLS durante il deployment in ambienti di produzione e di forzare il trasporto criptato tramite la configurazione tls_enable = true
.