Partage
  • Partager sur Facebook
  • Partager sur Twitter

redirection apache sur un second serveur

Multihoming and multihosts

Sujet résolu
    28 avril 2022 à 16:15:28

    Bonjour,

    Actuellement j'ai 2 serveurs Ubuntu hébergés sur OVH. Un serveur est accessible depuis internet et un autre accessible uniquement depuis le premier serveur. J'aimerais mettre en place une architecture 2 tiers. Le 2ᵉ serveur n'est accessible en HTTP/HTTPS que depuis le premier serveur. En gros, mon souci est que le premier serveur à partir des conf apache n'arrive pas à forwarder les requêtes reçues au 2ᵉ serveur. Voici une description du problème ainsi que le contenu des fichiers de configuration des virtualhosts apache.

    J'ai des applications que j'aimerais déployer sur ces serveurs. Notamment GitLab que je veux rendre accessible depuis le premier serveur mais également j'aimerais le rendre accessible sur le 2ᵉ serveur mais pour les utilisateurs de prod.

    Actuellement, le déploiement des applications a été réalisé sur le premier serveur. GitLab et d'autre application sous le FQDN gitlab.example.com

    j'ai également installé les applications sur le 2ᵉ serveur et j'aimerais les rendre accessibles sur le FQDN gitlab.dev.example.com

    Donc sur le premier serveur j'ai dû créer des fichiers de configuration en doublons (gitlab.conf et gitlab.dev.conf) l'un pour les applications sur le premier serveur et le 2ème pour rediriger les requêtes sur le 2ème serveur.

    Sur le 2ème serveur, j'ai créer un fichier de config pour chaque application comme gitlab (gitlab.conf) avec comme ServerName gitlab.dev.example.com

    le fichier de configuration sur le premier serveur est comme suit :

    <VirtualHost *:80>

      ServerName gitlab.dev.example.com

      ServerSignature Off

      ProxyPreserveHost On

      AllowEncodedSlashes NoDecode

      <Location/>

        Require all granted

        ProxyPassReverse http://IP_2ème_Serveur

        ProxyPassReverse http://gitlab.example.com

      </Location>

      DocumentRoot /Gitlab/directory

    </Virtualhost>


    Sur le 2ème serveur, la configuration gitlab.confest comme suit :

    <VirtualHost *:80>

      ServerName gitlab.example.com

      ServerSignature Off

      ProxyPreserveHost On

      AllowEncodedSlashes NoDecode

      <Location/>

        Require all granted

        ProxyPassReverse http://127.0.0.1:8181

        ProxyPassReverse http://gitlab.example.com

      </Location>

      DocumentRoot /Gitlab/directory

    </Virtualhost>


    Mais actuellement la configuration ne fonctionne pas. pourtant un curl 127.0.0.1:8181 sur le 2ème serveur montre que gitlab est bien up. Mais j'ai une erreur 503 avec le message :

    Service Unavailable

    The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

    Merci d'avance pour votre aide,

    -
    Edité par AubinTayo 28 avril 2022 à 20:13:44

    • Partager sur Facebook
    • Partager sur Twitter
      28 avril 2022 à 17:18:31

      Bonjour,

      Déplacement vers un forum plus approprié

      Le sujet est déplacé de la section HTML / CSS vers la section Vos réseaux

      Attention au passage, la copie d'écran n'a pas fonctionné ...

      -
      Edité par Benzouye 28 avril 2022 à 17:18:41

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        28 avril 2022 à 23:12:16

        Bonjour,

        Tu as deux fois la directive ProxyPassReverse.

        En admettant que le premier PoxyPassReverse est en fait un ProxyPass. Ce qu'il se passe lorsque tu fais une requête à gitlab.dev.example.org avec ce FQDN qui pointe vers l'IP du 1er serveur:

        - Le 1er serveur reçoit la requête HTTP(S) avec un champ Host à gitlab.dev.example.org dans l'en-tête.

        - Le 1er serveur fait passer la requête au virtualhost correspondant.

        - Le virtualhost décide passer la requête vers le 2nd serveur en préservant le champs Host.

        - Le 2nd serveur reçoit une requête HTTP avec le champs Host à gitlab.dev.example.org.

        - La requête ne match pas ton virtualhost sur ton 2nd serveur.

        - Le serveur renvoie une erreur HTTP (un code dans les 500). (hypothèse)

        - Le 1er serveur reçoit l'erreur et te renvoie la 503 (hypothèse)

        Je connais pas assez Apache pour confirmer les hypothèses, mais je ne vois rien de choquant à la vue de la configuration.

        Il faut corriger les configurations. Oublie pas que chaque serveur disposent de logs qui sont capable de te renseigner sur la raison des erreurs rencontrées.

        EDIT: D'ailleurs, le ProxyPassReverse du 1er serveur ne devrait-il pas être gitlab.dev.example.org? Et pourquoi en mettre un sur le 2nd serveur?

        -
        Edité par KoaTao 28 avril 2022 à 23:16:55

        • Partager sur Facebook
        • Partager sur Twitter

        redirection apache sur un second serveur

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown