Scénario #18551
Nginx doit servir de reverse proxy pour des applications locales et distantes
Statut:
Terminé (Sprint)
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
Début:
24/01/2017
Echéance:
10/02/2017
% réalisé:
100%
Temps estimé:
(Total: 12.00 h)
Temps passé:
(Total: 15.50 h)
Points de scénarios:
5.0
Restant à faire (heures):
0.00 heure
Estimation basée sur la vélocité:
Release:
Liens avec la release:
Auto
Description
Problème¶
Les applications web EOLE ne sont accessibles que sur des ports exotiques.
Il faut les rendre accessibles depuis les ports standards 80 et 443.
Propositions¶
- Les applications écoutent sur 127.0.0.1 sur un port exotique
- Il faut mettre en place un reverse proxy
- écoute sur les ports 80 et 443 des IP de la machines
- redirige les connexions à des chemins vers les applications respectives
Modifier eole-reverseproxy¶
Nous pouvons modifier eole-reverseproxy afin de le rendre utilisable sur tous les modules :
- Il faut pouvoir définir des hôtes virtuelles avec leurs noms, IPs et ports d’écoute
- Il faut pouvoir associer des applications à des hôtes virtuelles, une application peut-être définie par :
- Des fichiers de configuration (
upstream.d/,web.d) et un mécanisme de lien symbolique - Une déclaration gen_config à la manière du reverse proxy actuel sur Amon
- Un répertoire à rediriger
- Une URI de destination
- La gestion des protocoles HTTP (
oui,non,rediriger vers HTTPs) et HTTPs (oui,non)
- Des fichiers de configuration (
- Il faut pouvoir définir l’hôte virtuel par défaut, c’est à dire rediriger les noms inconnus vers un hôte virtuel particulier
- Il faut pouvoir définir une application racine par hôte virtuel
Le mécanisme de création de lien symbolique peut-être :
- Un script posttemplate
- Une nouvelle méthode de service
nginxdans python-pyeole- Méthode :
nginx - La liste des hôtes virtuelles où sera déclaré cette application
<service method='nginx' web_domains='gen_config_domains' servicelist='gen_config'>gen_config</service>
- Méthode :
- Une nouvelle méthode de service
webdans python-pyeole- Une nouvelle méthode de service :
web - Un type de serveur supporté :
nginx,apache, pourrait être défini au niveau du module ou être détectée automatiquement - La liste des hôtes virtuelles où sera déclaré cette application
<service method='web' type='nginx' web_domains='gen_config_domains' servicelist='gen_config'>gen_config</service>
- Une nouvelle méthode de service :
Chaque application web n’aurait dans ce cas que deux intégrations :
- eole-reverseproxy
- eole-web
Créer un nouveau service¶
Ce nouveau service serait utilisé sur tous les modules sauf Amon et Scribe et ne se limite qu’au cas minimum :
- Un seul hôte virtuel
web_urls’il est définie- ou
nom_domaine_machine
- Uniquement des applications locales avec fichiers de configuration (
upstream.d/,web.d)
Chaque application web aurait dans ce cas trois intégrations :
- eole-reverseproxy
- eole-web
- ce nouveau service
Sous-tâches
Demandes liées
Historique
#1 Mis à jour par Daniel Dehennin il y a environ 9 ans
- Lié à Scénario #18408: Etablir une config paramétrable de NGINX pour servir les applications WEB sur les port 80 et 443 ajouté
#2 Mis à jour par Daniel Dehennin il y a environ 9 ans
- Sujet changé de Nginx doit service de reverse proxy pour des applications locales et distantes à Nginx doit servir de reverse proxy pour des applications locales et distantes
#3 Mis à jour par Scrum Master il y a environ 9 ans
- Tracker changé de Proposition Scénario à Scénario
- Echéance mis à 10/02/2017
- Version cible mis à sprint 2017 4-6 Equipe MENSR
- Début mis à 23/01/2017
- Release mis à EOLE 2.6.1
- Points de scénarios mis à 5.0
#4 Mis à jour par Scrum Master il y a environ 9 ans
- Assigné à mis à force verte
#5 Mis à jour par Daniel Dehennin il y a environ 9 ans
Adapter eole-reverseproxy en version minimale.
#6 Mis à jour par Daniel Dehennin il y a environ 9 ans
- Statut changé de Nouveau à Terminé (Sprint)