Bonjour à tous,
J'administre un serveur sur lequel j'utilise docker.
Sur ce serveur, on trouve des conteneurs docker en écoute sur le port 80.
Sur ce serveur j'ai mis en front un Nginx pour faire du reverse proxy sur les bon conteneurs.
Jusque-là, tous marche plutôt bien.
Je souhaiterais maintenant ajouter des règles pour que certain site ne soit accessible seulement si je suis connecté sur le réseau avec un VPN.
J’ai donc mit ce conteneur docker vpn https://github.com/kylemanna/docker-openvpn
Une fois configuré, en suivant le README, mon trafic passe correctement dans le tunnel VPN (test avec des services comme 'whatsmyip' me rend l’IP de mon serveur distant).
Après ça, je tente les règles pour limiter le trafic de mon site. Mais je n'y parviens pas.
Si on résume j'ai :
- un serveur A avec Nginx et des conteneurs docker
- un client B connecter au VPN (avec OpenVpn )
- un conteneur site1 public donc sans restriction
- un conteneur site2 privé qui devra recevoir que le trafic du VPN
- un conteneur VPN
Comme dit dans la doc du VPN, les clients sont sur le réseau 192.168.255.0/24
Ici la config Nginx que j'aimerai voir marcher :
Après avoir bien chercher, je me suis rendu compte que mon Nginx recevait des requêtes (qu'il rejette [403 Forbidden] ) de l’IP public de mon client.server {
listen 80;
server_name site2.serveurA;
access_log /var/log/nginx/site2.access.log;
error_log /var/log/nginx/site2.nginx_error.log debug;
location / {
proxy_pass http://192.168.1.3:80/;
allow 192.168.0.0/16;
allow 127.0.0.1;
allow 192.168.255.0/24;
deny all;
}
}
C'est donc comme si les requêtes ne passaient plus par le VPN quand je requête le serveur.
Bien sûr, si j'ajoute l’IP public de mon client 37.162.66.34 dans les autorisations Nginx, ça fonctionne.2015/12/10 15:32:42 [error] 25474#0: *51977 access forbidden by rule, client: 37.162.66.34, server: site2.serveurA, request: "GET / HTTP/1.1", host: "site2.serveurA"
Voilà, j’espère avoir été aussi compréhensible que possible et que vous pourrez me débloqué.
Merci d’avance.
Partager