Tâche #18879
Scénario #18551: Nginx doit servir de reverse proxy pour des applications locales et distantes
Retravailler la configuration nginx pour supporter la publication d’application web
Associated revisions
Permettre la publication d’applications locales par Nginx
Nous permettons un paramétrage de Nginx en dehors du simple reverse
proxy Amon.
Pour ce faire :
- Nous déclarons une nouvelle variable « %%activer_nginx_web » ;
- Nous déclarons une nouvelle famille « Nginx » regroupant les
variables communes à la publication d’application web par Nginx et
au reverse proxy
+ « %%test_nginx_open_port » était précédemment nommée
« %%test_revprox_open_port » : variable automatiquement calculée
permettant d’ouvrir les ports 80 et 443
+ « %%nginx_degrade_http » permet de dégrader la sécurité en HTTP
+ « %%revprox_hash_bucket_size » était précédemment dans la famille
« Reverse proxy », mais elle est utile aussi pour la publication
d’application web par Nginx
La variable « %%activer_nginx_web » n’est disponible que lorsqu’apache
n’écoute pas sur les ports 80 et 443 :
- AmonEcole : Nginx est sur le maître, il n’y a donc aucun conflit
avec Apache ;
- Scribe/Horus : Il faut que la variable « %%activer_apache » soit à « non » ;
- Tous les autres modules n’ont pas apache par défaut.
Les applications locales sont publiées :
- En HTTPS par défaut sauf si la variable experte
« %%nginx_degrade_http » est passée à « oui ».
Certaines applications peuvent se désactiver si l’administrateur
force le HTTP non sécurisé ;
- Sur le nom de domaine « %%nom_domaine_machine » ;
- Sur le nom de domaine « %%web_url » s’il est défini ;
- Sur le nom de domaine « %%revprox_default » s’il est défini.
- dicos/25_nginx.xml: Nouvelle variable « %%activer_nginx_web »
conditionnée sur « %%activer_apache » et « %%mode_conteneur_actif ».
Nouvelle famille « Nginx » contenant
Nouvelle variable en mode expert « %%nginx_degrade_http ».
Variable « %%test_revprox_open_port » de la famille « Reverse
proxy » devient « %%test_nginx_open_port » dans la famille
« Nginx ».
Variable « %%revprox_hash_bucket_size » de la famille « Reverse
proxy » est déplacée dans la famille « Nginx »
- tmpl/nginx.default: Include les fichiers « upstream.d/*.conf » au
niveau de la configuration « HTTP » et « web.d/*.conf » pour les
serveurs éligibles.
Seuls les entêtes « X-Forwarded-For » des reverses proxy de confiances
sont pris en compte.
Protection de certaines sections si le reverse proxy est désactivé.
Ref: #18879
Amélioration cosmésique du dictionnaire et du fichier de configuration
- dicos/25_nginx.xml: Ajout de ligne vide pour aérer le dictionnaire.
- tmpl/nginx.default: Suppression d’espaces en début de ligne.
Correction de l’alignement des accolades fermantes des « location ».
Indentation des directives de templating pour s’y retrouver
Ref: #18879
La famille « Applications web Nginx » doit être désactivable
- dicos/25_nginx.xml: Conditionner la famille sur
« %%activer_nginx_web ».
Ref: #18879
Revert "La famille « Applications web Nginx » doit être désactivable"
La famille doit être accessible tout le temps :
- certaines applications tourneront toujours sur le maître
- certaines applications tourneront toujours dans le conteneur web
Ref: #18879
This reverts commit ba795b91c0afbba69acdfee28bbfedc7d049d7c9.
Remove ambiguous “optional='True'”
The variables are defined in the current XML with “exists='False'”.
Ref: #18879
History
#1 Updated by Daniel Dehennin over 6 years ago
- Project changed from Distribution EOLE to eole-reverseproxy
#2 Updated by Daniel Dehennin over 6 years ago
- Assigned To set to Daniel Dehennin
- % Done changed from 0 to 30
- Remaining (hours) changed from 6.0 to 4.0
Le dictionnaire me semble OK, il reste à travailler sur le template nginx.
#3 Updated by Scrum Master over 6 years ago
- Project changed from eole-reverseproxy to Distribution EOLE
- Status changed from Nouveau to En cours
#4 Updated by Scrum Master over 6 years ago
- Status changed from En cours to Résolu
#5 Updated by Daniel Dehennin over 6 years ago
- Remaining (hours) changed from 4.0 to 1.0
#6 Updated by Daniel Dehennin over 6 years ago
- % Done changed from 30 to 100
- Remaining (hours) changed from 1.0 to 0.25
#7 Updated by Daniel Dehennin over 6 years ago
- Project changed from Distribution EOLE to eole-reverseproxy
#8 Updated by Daniel Dehennin over 6 years ago
#9 Updated by Laurent Flori over 6 years ago
- Project changed from eole-reverseproxy to Distribution EOLE
- Status changed from Résolu to Fermé
- Remaining (hours) changed from 0.25 to 0.0