Passer au contenu principal

Mettre en place un tunnel FRP (Fast Reverse Proxy)

🧭 Objectif

Configurer un tunnel sécurisé entre :

  • 🏫 Serveur distant (ex : école) inaccessible de l’extérieur

  • 🏠 Serveur personnel (chez vous) accessible via Internet

🎯 Le but est d’exposer un service local (ex : un site en localhost sur le port 3000) du serveur école via un domaine (ex : mondomaine.fr) en passant par le serveur personnel.


📥 Étape 1 — Télécharger FRP

📦 Rendez-vous sur : https://github.com/fatedier/frp/releases

Téléchargez la dernière version pour Linux (ex : frp_0.62.0_linux_amd64.tar.gz).

Décompressez sur chaque machine :

tar -xvzf frp_0.62.0_linux_amd64.tar.gz cd frp_0.62.0_linux_amd64

🏠 Étape 2 — Configurer le serveur FRP (frps) sur le serveur personnel

Créez le fichier frps.toml :

[common] bind_port = 7000 vhost_http_port = 8080 dashboard_port = 7500 dashboard_user = "admin" dashboard_pwd = "admin" authentication_method = "token" token = "votreTokenSecret"

Lancer le serveur FRP :

./frps -c frps.toml

(Optionnel) Lancer via PM2 :

pm2 start ./frps --name frps -- -c ./frps.toml pm2 save pm2 startup

🏫 Étape 3 — Configurer le client FRP (frpc) sur le serveur distant

Créez le fichier frpc.toml :

[common] server_addr = "IP_DU_SERVEUR_PERSONNEL" server_port = 7000 authentication_method = "token" token = "votreTokenSecret" [appweb] type = "http" local_port = 3000 custom_domains = "mondomaine.fr"

Lancer le client :

./frpc -c frpc.toml

(Optionnel) Lancer via PM2 :

pm2 start ./frpc --name frpc -- -c ./frpc.toml pm2 save pm2 startup

🌍 Étape 4 — Configurer le DNS

Ajoutez un enregistrement DNS :


🌐 Étape 5 — (Optionnel) Reverse proxy avec Caddy

Si vous utilisez Caddy sur le serveur personnel :

Fichier Caddyfile :

mondomaine.fr { reverse_proxy localhost:8080 }

Recharger Caddy :

sudo systemctl reload caddy

🧪 Vérification

  • Accédez à : https://mondomaine.fr/

  • Visitez le dashboard FRP (si activé) : http://IP_DU_SERVEUR_PERSONNEL:7500/

  • Consultez les logs :

pm2 logs frps # ou pm2 logs frpc

✅ Résumé

  • 🔐 Connexion sortante seulement depuis le serveur distant

  • 🌍 Tunnel HTTP sécurisé entre deux machines

  • 🔁 Service redirigé automatiquement depuis un domaine public


📚 Liens utiles