Aller au contenu

Haproxy-B


chr!x

Messages recommandés

Pour ma part, d'après l'application qui en a été montrée jusqu'à présent, ça ne fais rien de plus que ce que peut faire le ReverseProxy. Tout en consommant certainement bien plus de ressources.

J'en profite donc pour faire remonter une question restée sans réponse :P

HAProxy peut-il traiter d'autres protocoles que le HTTP ? L'idée serait par exemple de pouvoir utiliser un autre port que le 22 pour SSH sans devoir toucher au fichier de config de SSH (vu que rien n'a été prévu dans DSM pour le modifier).

Et peut-on faire pointer HAProxy vers un sous dossier ? Ce qui donnerait http://soudomaine.domaine.tld:80 <-> HAProxy:5060 <-> http://localhost:80/monsousdomaine. Cela permettrait de limiter les accès aux sites internet depuis l'extérieur, le port 80 pourrait même être fermé pour les accès externes.

Lien vers le commentaire
Partager sur d’autres sites

Oui mais je prend par exemple mon utilisation:

-J'ai DSM sur 5000/5001

-Subsonic sur 4040/4041

Je souhaite écouter sur le port 80 et associé par exemple:

- https://dsm.domaine.tld à https://localhost:5001

- http://dsm.domaine.tld à http://localhost:5000

- https://subsonic.domaine.tld à https://localhost:4041

- http://subsonic.domaine.tld à http://localhost:4040

Les deux solutions peuvent le faire non?

Non (voir message precedent)

quelqu un pourrait expliquer rapidement comment le faire avec haproxy?

Modifié par aurelized
Lien vers le commentaire
Partager sur d’autres sites

On peut faire bien plus de choses avec HAProxy qu'avec un ReverseProxy Apache.

Coté perf (Yokav) HAProxy est vraiment très peu consomateur de ressources.

Parmis ce que l'on peut faire de plus :

  • Gérer d'autres protocoles en "mode tcp" comme mysql, ssh, et j'en passe (cf doc)
  • Gérer les Websockets
  • Avoir les logs dans Syslog
  • Faire de la répartition de charge entre plusieurs serveurs et gérer les défaillances
  • Monitorer l'état des serveurs (UP/DOWN, temps de réponse) en temps réel
  • Gérer le nombre de connexions
  • Créer des blacklists

Il ne faut pas oublier le HA de HAProxy qui signifie High Availability (haute disponibilité). Je n'ai pas été voir dans le nouveau SPK de Syno HAManager mais il y a fort à parier qu'ils utilisent un logiciel similaire voir même HAProxy.

En plus :

  • Interface de configuration
  • Changements sauvegardés entre les updates DSM

En combinaison avec GateOne, HAProxy permet d'accèder à une console SSH sur https://gateone.domain.tld/ tout en HTML5.

Lien vers le commentaire
Partager sur d’autres sites

Merci pour les précisions Diaoul, c'est que j'avais cru comprendre dans un de tes précédents messages que seul le protocole HTTP était fonctionnel et que toutes les fonctionnalités n'étaient pas intégrées.

Donc si finalement, pas mal de fonctionnalités sont incluses et que ça consomme pas trop de ressources, je vais finir par le tester aussi. ;)

Lien vers le commentaire
Partager sur d’autres sites

tout fonctionne à merveille chez moi .. Je fouillerais les docs sur les options de configurations ce week-end , encore merci Diaoul ! et pour infos , c'est bcp plus rapide que quand j'avais configuré la chose avec apache et reverse proxy ..

question : j'ai vu qu'il existe un mode tcp mais d'après ce que j'ai compris , l'url utilisé ( xxx.mondomaine.com ) n'est pas présente (>< http ) et donc comment faire en sorte qu'une adresse renvoie vers un port tcp déterminé ? ..

autre chose : j'ai vu qu'on parle d'un fichier de configuration " défaut" ( en plus de backend et frontend ) ( http://cbonte.github.com/haproxy-dconv/configuration-1.5.html#4.1 ) si oui quelles options sont incluses , ou se trouve le fichier de conf?

Encore merci pour tout !

Lien vers le commentaire
Partager sur d’autres sites

Sur le repo : https://github.com/SynoCommunity/spksrc/blob/develop/spk/haproxy/src/haproxy.cfg

Sur ton Syno : /usr/local/haproxy/var/haproxy.cfg.tpl

Tu peux le modifier il sera conservé lors des updates.

En mode TCP tu ne peux pas faire de règle par sous domaines et il te faudra ouvrir des ports supplémentaires

Lien vers le commentaire
Partager sur d’autres sites

merci !

Petite remarque qui pourrait servir à d'autres : quand j'ai configuré Haproxy, j'ai attribué des ports spécifiques pour chaque appli. DSM ( filestation,audiostation etc ... ) Cependant, j'ai attribué des ports htttps , hors , après avoir configuré les backend et frontend et en testant tout ca : file/audio.mondomaine.xxx , j'avais toujours une erreur "502 Bad gateway " . Je viens de comprendre à l'instant que c'était parceque les ports des applis devaient etre configuré en "http" , la tout fonctionne

En résumé : la connexion internet -> syno via haproxy se fait en httpS et haproxy renvoie vers le backend local via un port http ( mais peu importe puisque le port général de haproxy est déja en https non ? ( si je me trompe que quelqu'une me le dise ! ) ^^

Modifié par jee27
Lien vers le commentaire
Partager sur d’autres sites

Oui, c'est bien ça.

Internet <<-- httpS -->> HAProxy <<-- http -->> Applis du NAS.

Faire du httpS entre HAProxy et les applis du NAS n'a pas vraiment de sens et risque juste de consommer plus de ressources qu'autre chose. Il est important de sécuriser tout ce qui transite par internet mais pas besoin pour ce qui transite en local.

Lien vers le commentaire
Partager sur d’autres sites

merci pour la confirmation ! Par contre qqun à une idée pour photostation ?

Dans mon esprit , dans le nat de notre routeur on crée une règle disant port extérieur 443 vers port intérieur 5443 ou haproxy va écouter , ensuite on configure no applis et en tappant l'adresse appli.mondomaine.xxx , on passe par le port 443 du routeur, qui renvoie vers 5443 et haproxy renvoie vers l'appli correspondante.. Jusque la ok mais le problème avec photostation est qu'il se trouve sur le port 443 ou 80 , mais sans port spécifique , juste avec une adresse type http://ip:80/Photo .. Comment faire pour rediriger un sous nom de domaine type ( photo.mondomaine.xxx) pour le faire passer via le port 443 écouté par haproxy , qui va renvoyer vers l'adresse/port de photostation.... ( sachant que quand on renvoie vers 80 ou même un autre port supplémentaire http mais sans une adresse avec " /photo" on est renvoyé sur l'interface dsm ... )

Lien vers le commentaire
Partager sur d’autres sites

Le package me tente de plus en plus, j'ai juste 2 questions :

Le nom de domaine est obligatoire ? Ou un domaine en synology.me (exemple qui fait du catchall) est suffisant ?

Le package nécessite quel version de python ? Toute dernière ou précédente ? (je vais pas installer si subliminal fonctionne plus :P)

Lien vers le commentaire
Partager sur d’autres sites

Impossible pour Photo Station car il créé un alias /photo accessible sur le port 80. Il n'est pas possible, simplement, de faire pointer vers un alias apache.

Cependant, tu peux accéder à Photo Station par https://www.domain.tld/photo

Le package me tente de plus en plus, j'ai juste 2 questions :

Le nom de domaine est obligatoire ? Ou un domaine en synology.me (exemple qui fait du catchall) est suffisant ?

Le package nécessite quel version de python ? Toute dernière ou précédente ? (je vais pas installer si subliminal fonctionne plus :P)

Un synology.me est très bien, ça fait juste des adresses à ralonge : https://couchpotatoserver.bud77.synology.me/ (ouf)

2.7.3-3

J'ai mis à jour Subliminal hier donc il fonctionne.

Lien vers le commentaire
Partager sur d’autres sites

Impossible pour Photo Station car il créé un alias /photo accessible sur le port 80. Il n'est pas possible, simplement, de faire pointer vers un alias apache.

Cependant, tu peux accéder à Photo Station par https://www.domain.tld/photo

Jsuis pas un pro mais je me demande comment je vais réussir à accèder à photostation sur le port 443 et sans ouvrir d'autres ports si dans le routeur, toute requête entrant sur le port 443 est redirigée vers 5443 et haproxy ?

Lien vers le commentaire
Partager sur d’autres sites

dans le routeur , on doit configurer dans les règles nat que le port 443 externe redirige vers 5443 interne ( haproxy ) .. SI je vais sur photostation ( en https ) , et que je fait https://mondomaine.com/photo , il va tenter d'y accèder via le port 443 ... qui est redirigé vers 5443 non ?

Lien vers le commentaire
Partager sur d’autres sites

Je crois que tu n'as pas saisi le principe de HAProxy et d'un Reverse Proxy en général.

http://fr.wikipedia.org/wiki/Mandataire_inverse

Tout arrive sur HAProxy et c'est HAProxy qui forward, en fonction de l'adresse que tu as tapé (sickbeard.domain.tld, www.domain.tld, etc.),la requête vers le bon backend (SickBeard, Apache, etc.)

Lien vers le commentaire
Partager sur d’autres sites

si j'ai bien compris , tout arrive sur haproxy , sur le port 443 , et vu que tout arrive sur haproxy et qu'il n'est pas possible de forwarder vers photostation alors pas possible d'y accèder autrement qu'en ouvrant le port 80 par exemple .

Sinon alors explique moi comment accèder à photostation en https avec haproxy écoutant sur le port 5443 et uniquement le port 443 d'ouvert ( qui renvoie vers 5443 en nat ) ?

J'essaie juste de comprendre comment , en tappant : HTTPS :// mondomaine.xxx/Photo ( photostation en https ) , je vais pouvoir accèder à photostation alors que le port en question ( 443) est attribué à haproxy , et que ce dernier ne pourrait pas renvoyer la requête vers l'appli correspondante puisque pas possible d'attribuer un port http spécifique à photostation.. ?

Modifié par jee27
Lien vers le commentaire
Partager sur d’autres sites

si j'ai bien compris , tout arrive sur haproxy , sur le port 443 , et vu que tout arrive sur haproxy et qu'il n'est pas possible de forwarder vers photostation alors pas possible d'y accèder autrement qu'en ouvrant le port 80 par exemple .

Sinon alors explique moi comment accèder à photostation en https avec haproxy écoutant sur le port 5443 et uniquement le port 443 d'ouvert ( qui renvoie vers 5443 en nat ) ?

J'essaie juste de comprendre comment , en tappant : HTTPS :// mondomaine.xxx/Photo ( photostation en https ) , je vais pouvoir accèder à photostation alors que le port en question ( 443) est attribué à haproxy , et que ce dernier ne pourrait pas renvoyer la requête vers l'appli correspondante puisque pas possible d'attribuer un port http spécifique à photostation.. ?

Hello

si ça fonctionne comme un reverse proxy, HAProxy va encapsuler dans ton URL la destination que tu lui a demander

HTTPS:TON.DOMAINE vers HAPROXY comme tu lui aura indiquer que l'URL tapez devra afficher photo station...

voila si ça fonctionne comme un reverse....

bonne journée

Lien vers le commentaire
Partager sur d’autres sites

Sans vouloir enfoncer le clou, Diaoul a raison, un peu de lecture te ferais du bien. Il n'est pas aisé de manier un nouvel outil sans en comprendre son fonctionnement. ;)

Voici cependant ce qui devrait t'aider à résoudre tes problèmes... :P

Tu parles beaucoup du port 443 alors que logiquement tu ne devrais pas t'en soucier plus que ça. Il ne faut pas faire de lien direct entre les ports situés avant HAProxy (internet) et les ports situés après HAProxy (réseau local). Tu dois juste déclarer deux ports dans ton routeur, le 80 qui redirige vers le 5080 et le port 443 qui redirige vers 5443, c'est tout, rien de plus ! Le reste étant à configurer sur le Proxy et le NAS.

Et encore, si tu es le seul à te connecter à distance à ton NAS et que tu n'utilises que du https, tu peux même virer la redirection du port 80.

Et maintenant, côté réseau local on a HAProxy et le NAS, HAProxy étant chargé de faire le lien entre les sous-domaines en provenance d'internet et les ports utilisés sur le NAS, chaque sous-domaine étant redirigé vers un port précis (port qu'il faudra ouvrir dans le pare-feu du NAS bien entendu).

Pour finir, une petite précision concernant WebStation (dont dépend Photostation). WebStation est dédié à l'hébergement de sites internet, plusieurs sites se retrouvent donc sur une même "application" qui utilise un seul et même port le 80. Pour pouvoir y accéder, on doit alors utiliser des sous-répertoires (http://ip-du-nas/sous-repertoire) hors il n'est pas possible à HAProxy de prendre en compte ces sous-répertoires.

On va donc indiquer à HAProxy de faire pointer www.domaine.tld et domaine.tld vers le port 80 du NAS, qui est utilisé par WebStation. Et lorsque tu voudras accéder à Photostation, tu devras indiquer son sous-réprtoire dans l'url afin que ça donne ceci : http://www.domaine.tld/photo.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.