frontal_web
Ceci est une ancienne révision du document !
Table des matières
Frontal web (reverse proxy) chiffrant avec nginx
On utilise nginx (du paquet Debian nginx-light
).
Utilisé en parallèle avec Let's Encrypt.
Modifications de configuration
Décommenter server_names_hash_bucket_size 64;
car très vite nécessaire.
Problèmes de buffering :
# buffering causes issues, disable it # increase buffer size. still useful even when buffering is off proxy_buffering off; proxy_buffer_size 4k;
VHosts reverse-proxy
On utilise un petit script qui va générer les fichiers de configuration à partir d'un template. Comme cela, une modification du template sera bien répercutée partout.
Au cas où un site aurait besoin d'une configuration spécifique, le template inclue des paramétrages supplémentaires (dans un nouveau dossier /etc/nginx/sites-customizations/
) si existants :
server { listen 80; listen [::]:80; server_name %SERVERS%; include conf.d/acme.inc; include conf.d/redirect_https.inc; access_log /var/log/nginx/vhosts/%FIRST_SERVER%/access.log main; error_log /var/log/nginx/vhosts/%FIRST_SERVER%/error.log error; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name %SERVERS%; ssl_certificate /etc/letsencrypt/live/%FIRST_SERVER%/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/%FIRST_SERVER%/privkey.pem; include /etc/nginx/conf.d/ssl-params.inc; # SSL parameters location / { include conf.d/proxy_set_headers.inc; proxy_pass %PROXY%; } access_log /var/log/nginx/vhosts/%FIRST_SERVER%/access.log main; error_log /var/log/nginx/vhosts/%FIRST_SERVER%/error.log error; include /etc/nginx/sites-customizations/%FIRST_SERVER%.*.conf }
Et le petit script de génération :
#!/bin/sh cat proxy-list | while read p; do proxy=$(echo $p | cut -d ' ' -f1) servers=$(echo $p | cut -d ' ' -f2-) first_server=$(echo $p | cut -d ' ' -f2) conf=/etc/nginx/sites-available/$first_server.conf cp vhost.tpl $conf sed -i "s~%PROXY%~$proxy~g" $conf sed -i "s~%SERVERS%~$servers~g" $conf sed -i "s~%FIRST_SERVER%~$first_server~g" $conf mkdir -p /var/log/nginx/vhosts/$first_server/ done
Exemple de ligne de la liste des proxy dans le fichier proxy-list
:
http://192.168.1.71:80 wiki.usine.michalon.eu
Ajout d'un nouveau VHost
Procédure :
sudo certbot --rsa-key-size 4096 --nginx -d mon-super-domaine.rocks cd /etc/nginx/usine sudo nano proxy-list => rajouter le proxy sudo ./gen.sh sudo ln -s /etc/nginx/sites-available/mon-super-domaine.rocks.conf /etc/nginx/sites-enabled/ sudo service nginx reload
frontal_web.1608219111.txt.gz · Dernière modification : le 17/12/2020 à 15h31 de infrarangers