Project

General

Profile

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

Added by Daniel Dehennin over 6 years ago. Updated over 6 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
01/26/2017
Due date:
% Done:

100%

Estimated time:
6.00 h
Spent time:
Remaining (hours):
0.0

Associated revisions

Revision 3763b1a9 (diff)
Added by Daniel Dehennin over 6 years ago

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

Revision c09af429 (diff)
Added by Daniel Dehennin over 6 years ago

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

Revision ba795b91 (diff)
Added by Daniel Dehennin over 6 years ago

La famille « Applications web Nginx » doit être désactivable

  • dicos/25_nginx.xml: Conditionner la famille sur
    « %%activer_nginx_web ».

Ref: #18879

Revision ed251964 (diff)
Added by Daniel Dehennin over 6 years ago

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.

Revision a1225509 (diff)
Added by Daniel Dehennin over 6 years ago

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

Pour tester

Sur Scribe et Horus il faut désactiver apache.

#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

Also available in: Atom PDF