13.1.1    Service reverse-proxy

Le service de reverse proxy est associé à une image nginx. Nginx va exposer 2 ports, le 80 (http) et le 443 (https), ce qui sera défini dans la section « ports » du service. Nginx aura besoin de pouvoir accéder à des fichiers externes au conteneur, situés dans le répertoire utilisateur sur le serveur : on devra donc configurer la section « volumes ».

On aura donc un service nginx défini à peu près ainsi :

reverse-proxy

 

 

container_name

reverse-proxy

 

restart

unless-stopped

 

image

nginx:latest

 

ports

80:80

443:443

 

volumes

./nginx/core.conf:/etc/nginx/conf.d/core.conf

./nginx/reverseproxy.conf:/etc/nginx/conf.d/reverseproxy.conf

./nginx/wp-pierre-ange.conf:/etc/nginx/conf.d/wp-pierre-ange.conf

./nginx/wp-salammbo.conf:/etc/nginx/conf.d/wp-salammbo.conf

./nginx/wp-moira.conf:/etc/nginx/conf.d/wp-moira.conf

./nginx/www/html:/var/www/html

Vous remarquez que la section « volume » accède aux fichiers ./nginx/conf.d/core.conf, etc.

Ces fichiers seront des fichiers que nous devons créer qui seront en lien avec le conteneur. Il y a donc 5 fichiers à créer :

·      « core.conf » dans le sous-répertoire nginx :  il contiendra les éléments de base de la configuration de nginx

·      « reverseproxy.conf » dans le sous-répertoire nginx : il contiendra les éléments de base de la configuration du reverse proxy

·      « wp-pierre-ange.conf » dans le sous-répertoire nginx : il contiendra les éléments de base de la configuration du serveur web pour le WordPress de Pierre-Ange

·      « wp-salammbo .conf » dans le sous-répertoire nginx : il contiendra les éléments de base de la configuration du serveur web pour le WordPress de Salammbô

·      « wp-moira.conf » dans le sous-répertoire nginx : il contiendra les éléments de base de la configuration du serveur web pour le WordPress de Moïra

Et un répertoire « www/html » que nous utiliserons plus tard pour personnaliser la page d’accueil.

On va donc créer le sous-répertoire « nginx » ainsi que les 5 fichiers et le sous répertoire www/html :

Ces 5 fichiers de configuration donneront des informations à nginx nécessaires à son fonctionnement. On les remplira plus tard.

 

On saisit donc la configuration suivante dans le fichier « docker-compose.yml ». Attention, on n’utilise pas d’espaces pour indenter les lignes, mais des tabulations. C’est très important au sein d’un fichier YAML.