Guide de configuration du service de proxy inverse frp dans ServBay
frp (Fast Reverse Proxy) est une application de proxy inverse haute performance qui vous permet d’exposer en toute sécurité des services de votre réseau local sur Internet. ServBay intègre le client frp (frpc), vous permettant de vous connecter à votre propre serveur frp (frps) auto-hébergé et d'accéder à vos sites locaux hébergés dans ServBay via n’importe quel domaine personnalisé. Cette méthode vous offre un contrôle total sur votre serveur tunnel.
Ce guide détaillé vous accompagne étape par étape dans la configuration du client frp dans ServBay et la connexion à votre serveur frps.
Vue d’ensemble
Contrairement aux autres services de tunnel hébergés disponibles dans ServBay, l’utilisation de frp nécessite de déployer et configurer vous-même un serveur frps sur une machine accessible publiquement. ServBay agit alors en tant que client frpc et transmet le trafic de vos sites locaux via le serveur frps vers Internet. Ce modèle convient aux développeurs qui ont besoin de flexibilité et d’un contrôle total sur leur tunnel réseau.
Cas d’utilisation
- Contrôle complet du serveur tunnel : Vous maîtrisez intégralement la configuration, la sécurité et la performance du serveur frps.
- Utilisation de domaines personnalisés et SSL : Configurez librement vos domaines pour vos projets locaux et intégrez les certificats SSL ACME gérés par ServBay.
- Configuration réseau avancée : frp supporte divers types de proxy et des options de configuration avancées pour les besoins complexes.
- Déploiement privé : Idéal si vous ne souhaitez pas dépendre de services de tunnel tiers.
Prérequis
- ServBay installé : Vérifiez que ServBay est bien installé et fonctionne sur votre système macOS.
- Serveur
frps
auto-hébergé :- Vous devez disposer d’un serveur accessible publiquement, où
frps
est déployé et en cours d’exécution. - Notez l’adresse IP publique ou le nom de domaine de votre serveur
frps
. - Notez le
bindPort
(port utilisé pour la communication entre client et serveur frp) et letoken
(clé d’authentification) définis dans le fichier de configuration defrps
(frps.toml
oufrps.ini
).
- Vous devez disposer d’un serveur accessible publiquement, où
- Nom de domaine et configuration DNS :
- Vous aurez besoin d’un nom de domaine public (par exemple
your-frp-server.com
), dont l’enregistrement DNS A pointe vers l’IP publique de votre serveurfrps
. Vous accéderez ensuite à votre site local via ce domaine.
- Vous aurez besoin d’un nom de domaine public (par exemple
- Certificat SSL ACME dans ServBay :
- Pour permettre l’accès HTTPS à votre domaine externe, demandez au préalable un certificat SSL ACME pour ce domaine via la fonctionnalité Certificats SSL de ServBay. Par exemple, si vous souhaitez utiliser
project.your-frp-server.com
pour exposer votre site, demandez alors le certificat correspondant.
- Pour permettre l’accès HTTPS à votre domaine externe, demandez au préalable un certificat SSL ACME pour ce domaine via la fonctionnalité Certificats SSL de ServBay. Par exemple, si vous souhaitez utiliser
- Gestion multi-sous-domaines et certificats SSL :
- Si vous utilisez plusieurs sous-domaines sans vouloir multiplier les enregistrements DNS A, configurez un enregistrement générique : ajoutez un enregistrement A pour
*.your-frp-server.com
pointant vers l’IP publique de votre serveurfrps
. Demandez dans ServBay un certificat SSL ACME couvrant le domaine générique (dans le champDomain
, entrezyour-frp-server.com, *.your-frp-server.com
—veillez à placer le joker*
en dernier, séparés par une virgule). Vous pourrez ainsi ajouter n’importe quel sous-domaine dans ServBay sans gestion DNS supplémentaire, en partageant le même certificat SSL. - Avec cette méthode, vous pouvez utiliser librement dans ServBay des domaines comme
company-project.your-frp-server.com
,personal.your-frp-server.com
,customer-1.your-frp-server.com
, etc., sans configurer à chaque fois des enregistrements DNS, tout en sécurisant le tout avec un unique certificat SSL.
- Si vous utilisez plusieurs sous-domaines sans vouloir multiplier les enregistrements DNS A, configurez un enregistrement générique : ajoutez un enregistrement A pour
Étapes de configuration
1. Installer le paquet frp dans ServBay
- Ouvrez l’application ServBay.
- Dans le menu de navigation à gauche, cliquez sur Packages (Paquets).
- Cherchez
frp
dans la liste des paquets. - Cliquez sur le bouton d’installation à côté de
frp
. - Après installation, une tentative de démarrage du service frp échouera sans configuration — ceci est attendu.
2. Préparer votre serveur frps
et sa configuration
Installez et lancez frps
sur votre serveur public. ServBay peut générer un modèle de configuration de base frps.toml
(pour les versions récentes de frp) pour vous aider à démarrer :
Dans ServBay, rendez-vous dans Tunnel → frp.
Trouvez et cliquez sur l’icône déroulante ou d’expansion à côté de frp server config (frps.toml).
ServBay affichera un exemple de fichier de configuration
frps.toml
, similaire à ceci :toml# Le fichier de config frps généré automatiquement par ServBay # est destiné à être utilisé directement sur le serveur. # Merci d’ajuster les paramètres selon vos besoins spécifiques. bindPort = 12345 auth.method = "token" auth.token = "myserverpassword" vhostHTTPPort = 80 vhostHTTPSPort = 443 log.to = "/tmp/frps.log" log.level = "info" log.maxDays = 3 log.disablePrintColor = true # Pour les versions récentes de frps (ex : 0.52.0+), utilisez webServer.port, webServer.addr, webServer.user, webServer.password pour configurer le Dashboard # webServer.port = 7500 # webServer.addr = "0.0.0.0" # webServer.user = "admin" # webServer.password = "admin_password"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20Explications importantes sur la configuration :
bindPort
: port de communication entre frpc et frps. Il est fortement conseillé de limiter l’accès à ce port à des IPs de confiance via firewall.auth.method = "token"
etauth.token
: authentification de la connexion client. Choisissez une clé robuste !vhostHTTPPort = 80
etvhostHTTPSPort = 443
: ports écoutés par frps pour les requêtes HTTP et HTTPS des vhosts.- [Essentiel] ServBay est optimisé pour le scénario où le serveur frps écoute directement sur les ports 80 et 443 pour
vhostHTTPPort
/vhostHTTPSPort
. Cela permet à ServBay de transférer sans effort le certificat ACME local pour une navigation HTTPS sécurisée. - Si vos ports 80/443 sont déjà utilisés, vous devez mettre en place un proxy inverse (Nginx, Caddy…) devant frps. Ce proxy écoute le 80/443 public, relaie sur les ports vhost internes de frps, et gère alors le certificat SSL.
- [Essentiel] ServBay est optimisé pour le scénario où le serveur frps écoute directement sur les ports 80 et 443 pour
log.to
: chemin du fichier log de frps.- Paramètres Dashboard (type
webServer.port
…) : configuration optionnelle d’une interface Dashboard de frps.
Copiez ce modèle et adaptez-le sur votre serveur frps (sauvegardez-le sous
frps.toml
oufrps.ini
selon vos besoins) puis ajustez les paramètres selon votre environnement.Démarrez votre service
frps
.
3. Configurer le client frp dans ServBay
De retour dans ServBay, réalisez la configuration de la connexion client :
Naviguez vers Tunnel → frp.
Renseignez les informations suivantes sur votre serveur frps :
- Server Address (Adresse du serveur) : le domaine ou l’IP publique de votre serveur frps (ex :
my.test.frp.server.host
) - Server Port (Port du serveur) : valeur du champ
bindPort
de votrefrps.toml
(ex :12345
) - Auth Token (Clé d’authentification) : valeur de
auth.token
dans votrefrps.toml
(ex :myserverpassword
)
- Server Address (Adresse du serveur) : le domaine ou l’IP publique de votre serveur frps (ex :
Définissez les règles de mapping :
- Local Domain (Site local) : sélectionnez dans la liste déroulante le site ServBay à exposer (ex :
servbay.demo
). - External Domain (Domaine externe) : indiquez le domaine qui sera utilisé pour accéder à ce site local (ex :
test.ks.do
). L’enregistrement DNS A de ce domaine doit pointer sur l’IP publique de frps.- Important : Contrairement à d’autres tunnels (Ngrok, Cloudflared…) dans ServBay, vous devez indiquer ici le domaine complet, pas un simple sous-domaine.
- ACME Certificates (Certificat ACME) : sélectionnez le certificat SSL ACME correspondant à l’
External Domain
dans ServBay (ex : le certificat pourtest.ks.do
).- Important : Pour un accès HTTPS, choisissez absolument le bon certificat ! ServBay transmettra ce certificat à frpc, qui l’enverra à frps pour servir le HTTPS sur le bon domaine. Le serveur frps n’a donc pas besoin de gérer séparément les certificats : ServBay centralise la gestion.
- Local Domain (Site local) : sélectionnez dans la liste déroulante le site ServBay à exposer (ex :
Ajouter d’autres tunnels :
- Besoin d’exposer plusieurs sites ou domaines ? Cliquez alors sur le
+
à droite pour ajouter d’autres règles de tunnel.
- Besoin d’exposer plusieurs sites ou domaines ? Cliquez alors sur le
4. Sauvegarder et démarrer le service frp
- Une fois la configuration terminée, cliquez en bas à droite sur Save (Enregistrer).
- ServBay sauvegardera la configuration de frpc et tâchera de lancer le service frp.
- Observez l’indicateur de statut à côté de l’entrée
frp
dans la liste Tunnel. Si la connexion frpc–frps se fait correctement, le voyant passe au vert (service opérationnel). - Vérification :
- Vous pouvez maintenant accéder à votre site local sur Internet via l’
External Domain
configuré (par ex :https://test.ks.do
). - Testez facilement l’accès via l’icône de copie ou celle du navigateur à côté du domaine dans l’interface.
- Vous pouvez maintenant accéder à votre site local sur Internet via l’
Remarques importantes
- Déploiement et maintenance du serveur
frps
: Vous êtes pleinement responsable de l’installation, de la configuration et de la sécurité de votre serveur frps. - Sécurité du
bindPort
de frps : Utilisez toujours des tokens forts, et limitez si possible l’accès à ce port via votre firewall à certaines IPs de confiance. - Choix des ports
vhostHTTPPort
etvhostHTTPSPort
:- Il est vivement conseillé que frps écoute directement sur les ports 80 et 443 afin de profiter au mieux du passage de certificats SSL ACME gérés par ServBay.
- Si frps utilise d’autres ports comme vhost, déployez un proxy inverse (Nginx, Caddy…) devant frps pour exposer les ports 80/443 et faire le pont vers frps, et gérez alors des certificats SSL côté proxy.
- Nécessité des certificats ACME : Pour une connexion HTTPS, un certificat ACME doit être demandé et sélectionné dans la config frp pour chaque domaine externe concerné.
- Propagation DNS : Vérifiez que l’enregistrement DNS A du
External Domain
pointe bien vers l’IP du serveur frps et que sa propagation DNS est effective à l’international.
FAQ
- Q : Le service frp dans ServBay ne se lance pas, le voyant est rouge ou orange, que faire ?
- R : Vérifiez la cohérence des paramètres (
Server Address
,Server Port
,Auth Token
) avec votre fichierfrps.toml
. Assurez-vous que le serveur frps est lancé et que le port utilisé est bien ouvert en entrée et non bloqué par un firewall local ou distant. Consultez les logs de frp pour plus d’informations sur l’erreur.
- R : Vérifiez la cohérence des paramètres (
- Q : L’accès via
External Domain
fonctionne mais en HTTP uniquement : pas de HTTPS !- R : Assurez-vous d’avoir bien sélectionné le certificat ACME pour ce domaine dans la configuration frp de ServBay. Vérifiez également que
vhostHTTPSPort
dans lefrps.toml
correspond bien au port HTTPS du serveur frps (idéalement 443).
- R : Assurez-vous d’avoir bien sélectionné le certificat ACME pour ce domaine dans la configuration frp de ServBay. Vérifiez également que
- Q : Mon serveur frps doit utiliser des ports vhost autres que 80/443, comment faire pour le SSL ?
- R : Dans ce cas, configurez un proxy inverse (Nginx, Caddy…) sur le serveur frps, écoutant en frontal sur 80/443 et gérant ses propres certificats SSL (indépendamment de ServBay si nécessaire), puis redirigez vers vos ports internes frps. La sélection du certificat ACME dans ServBay ne s’appliquera plus à l’accès public, la gestion SSL est alors faite par le proxy front-end.
- Q : Le modèle
frps.toml
généré par ServBay ne correspond pas à monfrps.ini
existant ?- R : frp a migré du format
.ini
vers le format standard.toml
pour ses fichiers de configuration. SerBay propose un modèle.toml
; si votre version de frps est plus ancienne ou si vous préférez.ini
, référez-vous à la documentation officielle frp pour convertir et adapter ces paramètres (le sens des paramètres reste identique).
- R : frp a migré du format
Conclusion
Grâce à l’intégration du client frp, ServBay offre un puissant outil de tunnel réseau aux développeurs macOS soucieux de personnalisation et de contrôle. En déployant vous-même un serveur frps et en utilisant la configuration frpc facilitée et la gestion centralisée des certificats SSL ACME de ServBay, vous pouvez exposer vos sites de développement locaux sur Internet de façon sécurisée et flexible. Portez une attention particulière à la configuration des ports et à la sécurité de frps et frpc afin de garantir la stabilité et la protection de vos services.