Forum Linux.général Répartition de trafic sur 2 serveurs Web

Posté par  . Licence CC By‑SA.
1
11
juil.
2014

Bonjour,

J'ai actuellement au boulot un serveur Web (Apache/PHP) qui tourne sur CentOS 6.
Dessus, j'ai plusieurs "sites" (des applications Intranet) qui sont accédées par les utilisateurs via des adresses du type http://apps.mondomaine.tld/appli1, http://apps.mondomaine.tld/appli2, etc.

J'aimerais mettre en place un nouveau serveur Web (sous CentOS 7). Mais dans le but de faire une migration en douceur et sans impact pour les utilisateurs, j'aimerais pouvoir par exemple migrer "l'appli2" sur le nouveau serveur mais que les utilisateurs continue d'y accéder via l'adresse http://apps.mondomaine.tld/appli2. "L'appli1" elle resterai toujours sur le 1er serveur.

Il faudrait donc en quelque sorte que le serveur http://apps.mondomaine.tld redirige de manière transparente le flux de certains sites sur un autre serveur.

Est-ce possible déjà ?
Et si oui, avez-vous des pistes et des noms de logiciels à m'indiquer ?
Pour info, mes sites sur le serveur ne sont pas configurés avec des VirtualHost. Faut-il le faire ? D'ailleurs, c'est quoi l'avantage des VirtualHost ?

  • # réécriture

    Posté par  (site web personnel) . Évalué à 5.

    Voir le mod_rewrite d'apache par exemple ou un reverse proxy

    Système - Réseau - Sécurité Open Source

  • # Virtualhosts

    Posté par  . Évalué à 4.

    Pour info, mes sites sur le serveur ne sont pas configurés avec des VirtualHost. Faut-il le faire ? D'ailleurs, c'est quoi >l'avantage des VirtualHost ?

    Déjà dans ton cas, tu aurais eu appli1.apps.mondomaine.tld et appli2.apps.mondomaine.tld, avec des eregistrements DNS qui pointent vers la même machine… Dans ta migration, tu aurais eu uniquement à modifier les DNS un à un pour progressivement basculer les différentes applications vers la nouvelle machine.

    • [^] # Re: Virtualhosts

      Posté par  . Évalué à 2.

      D'accord je vois, et oui je crois que je vais m'orienter vers ça. C'est simple à mettre en œuvre.

      • [^] # Re: Virtualhosts

        Posté par  . Évalué à 3.

        D'autant plus que :
        - ça évite d'avoir 2 appels pour une page : pas besoin d'appeler serveur1 pour qu'il redirige vers serveur2 (ou aille chercher la page sur serveur2 et la retransmette)
        - serveur1 ne fera plus SPOF : s'il tombe, ton appli sur serveur2 sera toujours accessible

  • # vhost ?

    Posté par  . Évalué à 2. Dernière modification le 11 juillet 2014 à 12:28.

    et pourquoi ne pas utiliser les vhost c'est bien plus simple a gérer.

    Il suffit de changer apps.mondomaine.tld/appli1 par appli1.apps.mondomaine.tld

    Avec cette configuration plus besoin de bidouiller pour migrer un site sur un autre serveur.

    edit: grillé par alolos

  • # solution intermediaire

    Posté par  . Évalué à 3.

    mettre un reverse proxy sur le serveur principal

    qui ensuite ira poser la question au nouveau serveur.

    par ex avec haproxy, tu definis un frontend (apps.example.com/appli1) qui recoit les demandes et les passe à un backend "appli1".
    dans le backend tu lui dis que ca va sur server-interne1/appli1

    si tu veux faire de la repartition de charge, tu ajoutes un nouveau serveur en interne
    et tu ajoute une ligne au backend appli1 pour ajouter server-interne2/appli1

    et si tu migres l'appli sur un autre serveur, ben tu changes le backend en nouveau-server3/appli1

    • [^] # Re: solution intermediaire

      Posté par  (site web personnel) . Évalué à 2. Dernière modification le 11 juillet 2014 à 19:57.

      Effectivement, avec un reverse proxy, tu peux même définir des règles selon les IP, pour tester ta migration que pour ton IP.

      Pour les reverses proxy, tu as au choix:
      - Haproxy
      - Pound
      - Nginx
      - Gatejs : https://linuxfr.org/news/proxy-http-s-gatejs
      - Squid
      - Varnish
      - …

      Pourquoi bloquer la publicité et les traqueurs : https://greboca.com/Pourquoi-bloquer-la-publicite-et-les-traqueurs.html

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.