Project

General

Profile

Scénario #18551

Nginx doit servir de reverse proxy pour des applications locales et distantes

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

Status:
Terminé (Sprint)
Priority:
Normal
Assigned To:
Category:
-
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)
  • 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>
      
  • 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>
      

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

Tâche #18837: Définir une nouvelle méthode de service nginxNe sera pas résoluDaniel Dehennin

Tâche #18840: Faire la configuration pour genconfigFerméDaniel Dehennin

Tâche #18879: Retravailler la configuration nginx pour supporter la publication d’application webFerméDaniel Dehennin


Related issues

Related to Distribution EOLE - Scénario #18408: Etablir une config paramétrable de NGINX pour servir les applications WEB sur les port 80 et 443 Terminé (Sprint) 12/19/2016 01/02/2017

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)

Also available in: Atom PDF