Scénario #18551
Nginx doit servir de reverse proxy pour des applications locales et distantes
Status:
Terminé (Sprint)
Priority:
Normal
Assigned To:
Category:
-
Target version:
Start date:
01/24/2017
Due date:
02/10/2017
% Done:
100%
Estimated time:
(Total: 12.00 h)
Spent time:
(Total: 15.50 h)
Story points:
5.0
Remaining (hours):
0.00 hour
Velocity based estimate:
Release:
Release relationship:
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
nginx
dans 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
web
dans 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_url
s’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
Subtasks
Related issues
History
#1 Updated by Daniel Dehennin over 6 years ago
- Related to Scénario #18408: Etablir une config paramétrable de NGINX pour servir les applications WEB sur les port 80 et 443 added
#2 Updated by Daniel Dehennin over 6 years ago
- Subject changed from Nginx doit service de reverse proxy pour des applications locales et distantes to Nginx doit servir de reverse proxy pour des applications locales et distantes
#3 Updated by Scrum Master over 6 years ago
- Tracker changed from Proposition Scénario to Scénario
- Due date set to 02/10/2017
- Target version set to sprint 2017 4-6 Equipe MENSR
- Start date set to 01/23/2017
- Release set to EOLE 2.6.1
- Story points set to 5.0
#4 Updated by Scrum Master over 6 years ago
- Assigned To set to force verte
#5 Updated by Daniel Dehennin over 6 years ago
Adapter eole-reverseproxy en version minimale.
#6 Updated by Daniel Dehennin over 6 years ago
- Status changed from Nouveau to Terminé (Sprint)