
Sommaire
Introduction
Dans cet article, nous allons voir comment installer un reverse proxy dans le but de sécuriser les accès web externe à mon réseau local et de simplifier la gestion de notre infrastructure. Un reverse proxy agit comme un intermédiaire entre les clients et les serveurs, distribuant le trafic, gérant les connexions SSL et renforçant la sécurité.
Mon choix s’est porté sur SWAG (Swiss Army Knife of Web Access Gateway). Il s’agit d’un reverse proxy basé sur nginx avec la gestion automatisée des certificats SSL grâce à Let’s Encrypt, offrant ainsi une solution simple et sécurisée pour l’accès aux services web.
Nous allons découvrir comment le déployer en utilisant notre nom de domaine personnalisé, et comment configuré un certificat wildcard en utilisant mon fournisseur DNS, qui est Infomaniak.
Configuration du domaine
Tout d’abord, vous devrez disposer d’un nom de domaine personnalisé. Dans mon cas, il s’agit du domaine » colinfo.fr » que je possède chez Infomaniak. Le tutoriel est également valable sans nom de domaine personnalisé, mais DuckDNS doit être configuré dans ce cas !
Sur mon espace d’administration infomaniak, je crée un TOKEN API pour les noms de domaine.
Conservez bien la valeur du TOKEN qui s’affichera, nous en aurons besoin plus tard !

Il est nécessaire de renseigner également un sous-domaine pointant vers l’adresse IP publique de mon serveur web que je souhaite rendre publique.
Installation
Mon serveur est déjà équipé de Docker Compose. Vous pouvez consulter ce tutoriel pour installer Docker Compose via Ansible si vous le souhaitez.
Dans mon répertoire ~/docker, je crée un dossier de travail « swag » pour héberger mon fichier docker-compose.yml que voici :
—
services:
swag:
image: lscr.io/linuxserver/swag
container_name: swag
cap_add:
- NET_ADMIN
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
- URL=colinfo.fr #Indiquez votre nom de domaine
- VALIDATION=dns
- SUBDOMAINS=wildcard
- DNSPLUGIN=infomaniak
- EMAIL= <your.mail@gmail.com> #Indiquez votre adresse mail
volumes:
- ./config:/config
ports:
- 443:443
- 80:80
restart: unless-stopped
Lancer votre docker compose avec cette commande :
sudo docker compose up -d
Ensuite, nous allons ajouter notre TOKEN Infomaniak obtenu récemment dans les fichiers de configuration de SWAG
sudo nano ~/docker/swag/config/dns-conf/infomaniak.ini

On redémarre ensuite le conteneur :
sudo docker restart swag
En consultant les logs, nous pouvons nous assurer de la bonne création du certificat avec la commande
sudo docker logs swag

Les logs mentionnent la création d’un certificat : « Wildcard cert for colinfo.fr will be requested », « New Certificate generated », …
Conclusion
Dans cet article, nous avons exploré le déploiement de SWAG à l’aide de Docker Compose dans le but de sécuriser les accès web à notre réseau local et de simplifier la gestion de notre infrastructure.
Nous avons configuré notre domaine en utilisant un nom de domaine chez Infomaniak, et avons mis en place un certificat wildcard pour sécuriser l’accès à nos services web. Dans le prochain article, nous allons voir comment configurer les fichiers de SWAG pour mettre en ligne nos différents services de façon sécurisés.