Forum général.général [ HAPROXY ] redirection ver diverses cibles.

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
4
fév.
2014

Bonjour.

J'ai un haproxy configuré pour rediriger les requêtes sur le port 443 de la façon suivante :
- vers un wiki/blog sile protocole utilisé est ssl
- vers un serveur ssh dans le cas contraire.

Le wiki sert déjà les requêtes en HTTPS.

J'aimerais pouvoir ajouter la possibilité de faire mieux et sur le port 443 avoir la redirection suivante :

  • vers un wiki-blog par défaut qui lui sert déjà le https (commeaujourd'hui)
  • vers un serveur ssh si le protocole utilisé n'estpas ssl (toujours comme aujourd'hui)
  • vers monserveur1/monsite1, qui lui sert les requêtes en http, si je me connecte en https://adresse_ip/monsite1 avec la possibilité d'ajouter d'autres sites de la même façon.

J'arrive à faire ce genre de redirection sans ssl mais là j'ai 3 cas de figure :
- 1 cas ou je redirige vers un serveur https
- 1 cas ou je redirige vers un serveur ssh
- 1 cas ou je redirige vers un serveur http après avoir "décodé" les trames https.

Je ne sais pas si c'est possible. Avez-vous une idée pour faire ça ?

Pour l'instant, mes règles haproxy ressemblent à ça :

    listen ssl <ip_haproxy>:443
      acl is_ssl req_ssl_ver 2:3.1
      tcp-request content accept if is_ssl
      tcp-request inspect-delay 2s
      use_backend ssh if !is_ssl
      timeout client 2h
      default_backend dokuwiki

    backend ssh
      mode tcp
      server ssh <ip_serveur_ssh>:22
      timeout server 2h

    backend dokuwiki
      server www-ssl <ip_serveur_dokuwiki>:443`
  • # J'ai pas tout saisi...

    Posté par  . Évalué à 1.

    Et je ne connais pas HAPROXY, mais est-ce que sslh ne te conviendrais pas ?

    D'avance pardon si je suis totalement à côté de la plaque.

    • [^] # Re: J'ai pas tout saisi...

      Posté par  . Évalué à 2.

      Et je ne connais pas HAPROXY, mais est-ce que sslh ne te conviendrais pas ?

      Je ne crois pas : je ne le connais pas. Peux-tu déveopper STP ?

      D'avance pardon si je suis totalement à côté de la plaque.

      Pas de problème, mon besoin n'est pas forcément bien exprimé, ça pourra permettre de clarifier mon besoin s'il le faut.

      • [^] # Re: J'ai pas tout saisi...

        Posté par  . Évalué à 2.

        Je suis allé voir ce que c'était. ca répond à une partie du besoin, mais n'importe comment, j'aurai besoin d'un HAProxy ou un reverse proxy apache pour la partie HTTP/HTTPS. A priori, sslh ne fait pas tout ce dont j'ai besoin.

      • [^] # Re: J'ai pas tout saisi...

        Posté par  . Évalué à 3. Dernière modification le 04 février 2014 à 22:21.

        Pas de problème, mon besoin n'est pas forcément bien exprimé, ça pourra permettre de clarifier mon besoin s'il le faut.

        ce ne serait pas plus facile d'arriver avec des noms de domaine ?

        machine1.lamaison.org
        machine2.lamaison.org
        etc

        plutot que https://une-adresse-ip/

        • [^] # Re: J'ai pas tout saisi...

          Posté par  . Évalué à 2.

          Non car je n'ai pas de nom de domaine … Je n'ai qu'une IP. J'ai pensé au domaine, mais si je peux m'en passer, ça m'arrangerait.

          • [^] # Re: J'ai pas tout saisi...

            Posté par  . Évalué à 2.

            prend un nom de domaine dynamique (dyndns, …), et tu l'utilise en wildcard derrière.

            Ensuite tu profites du SNI sur l'apache/nginx qui héberge to dokuwiki pour gérer le backend http

            haproxy
            -|-------|
            ssl----ssh
            -|-------|
            apache---Serveur sshd
            dokuwiki
            |------|
            doku--proxy_http vers site en http

            Le problème avec ce que tu veux faire, c'est que tu veux que haproxy fasse l'interception ssl, puis reverse proxy avec backend en https/http. Le problème de cette idée c'est que tu utilise un outil qui n'est pas prévu pour: haproxy est prévu pour du loadbalancing. Pour du reverse proxy, il faut mieux partir sur du apache, nginx ou autre.

            • [^] # Re: J'ai pas tout saisi...

              Posté par  . Évalué à 2.

              Le problème avec ce que tu veux faire, c'est que tu veux que haproxy fasse l'interception ssl, puis reverse proxy avec backend en https/http. Le problème de cette idée c'est que tu utilise un outil qui n'est pas prévu pour: haproxy est prévu pour du loadbalancing. Pour du reverse proxy, il faut mieux partir sur du apache, nginx ou autre.

              Merci, tu ne fais que confirmer ce que je pensais. Ca me paraissait un peu tordu comme idée, mais si ça avait été possible, ça m'aurait évité de tout changer chez moi juste pour quelques tests.

              Merci encore pour ce retour.

Suivre le flux des commentaires

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