Sur Linux, nous utiliserons Nginx avec un Reverse Proxy sur notre machine hôte Proxmox et deux conteneurs Debian 12 Standard ayant chacun Nginx en fonctionnement simple.
Machine Hôte (Proxmox)
Pour cela nous allons mettre à jour notre machine et installer Nginx :
server {
listen [PORT] default_server;
listen [::]:[PORT] default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html; #le nom de vos pages webs
server_name _;
location / {
proxy_pass http://127.0.0.1:[PORT]; # Pas obligatoire
try_files $uri $uri/ =404;
}
}
Création de sites différents pour les tests :
echo "<h1>Bienvenue sur le conteneur CTX (IP: 192.168.1.X)</h1>" > /var/www/html/index.html
Activation et démarrage de Nginx
nginx -t
systemctl restart nginx
systemctl reload nginx
On peut faire des règles de firewall via la configuration de nftables
Nous allons les utiliser pour protéger nos conteneurs, de façon à ce qu’ils reçoivent uniquement les paquets des ports 80 (HTTP) et 443 (HTTPS)
Édition des règles nftables
nano /etc/nftables.conf
Rajout de cette ligne dans le fichier de conf
tcp dport { 80, 443 } accept
Puis rechargez les règles nftables
nft -f /etc/nftables.conf
Vous pouvez maintenant tenter d’aller sur l’adresse IP de votre machine hôte sur laquelle vous mentionnerez le nom de la page que vous souhaitez afficher
Pour mon cas j’aurai :
http://10.0.50.254/index.html
PS : Pensez à changer les valeurs entre [ ] par vos valeurs, pour les ports par exemple, j’utilise uniquement le port 80