via78 Posté(e) le 26 février 2014 Partager Posté(e) le 26 février 2014 (modifié) Bonjour, je vous propose un tuto pour HAPROXY mais je souhaite surtout rassembler toutes les options qui sont sur le fofo !! je remercie donc tous les personnes qui ont postés sur le fofo, ce qui m'a permis d'élaborer ce poste Haproxy se décompose en 4 parties : 1. Configuration : Configuration de base et commande pour appliquer les mises à jour Ecriture Configuration : permet d’appliquer la configuration que l’on vient de faire Générer le certificat : permet de créer certificat SSL qui nous utiliserons lors des connexions https depuis l’extérieur Recharger la configuration par defaut 2. Frontends On définit les ports d’écoutes et les options qui seront utilisés Nom du frontend Port d’écoute Option du frontend 3. Backends On definit pour chaque backends comment on va discuter avec le syno. (en d’autre thermes : on definit les sorties, apres traitement, de haproxy et donc comment discuter avec les applications du syno) Nom du backend Adresse IP et Port de sortie (port propre a l’application du syno) Des options 4. Associations On associe un frontend et un backend que l’on veut utiliser sous une condition. Pour bien commencer : Le package Haproxy est configurer pour traiter les urls : https sur le port 5443 http sur le port 5080 Donc : il faut configurer le firewall de votre « box » pour que tous ce qui vient de l’extérieur en https (port 443) soient redirigé vers l’adresse IP du syno sur le port 5443 il faut configurer le firewall de votre « box » pour que tous ce qui vient de l’extérieur en http (port ) soient redirigé vers l’adresse IP du syno sur le port 5080 Comme le schéma si dessous : je vais utiliser l'URL : dsm.monsite.fr comme exemple pour me connecter au DSM de mon synology Ainsi toutes les tentatives de connexion sur votre syno en http et https seront traitées par haproxy quoi qu’il arrive et il fera l’aiguillage pour vous. Maintenant il nous reste plus qu’a appliqué la configuration par défaut et créer le certificat. Je vais expliquer la connexion à l’interface de gestion du syno (dsm) d’un bout à l’autre. url tapé sur votre navigateur : https://dsm.monsite.fr donc port 443 entrée sur le firewall de votre box port 443 et redirigé vers le port 5443 vers l’@IP du syno entrée dans haproxy sur le frontend https : entrée sur le port 5443 donc cryptage de la connexion par le certificat généré Une association dit que : Si la connexion est bien en https Si l’url commence par dms. Alors je renvoie vers le backend nommé « dms » Le backend « dsm » dit que : Je renvoi la requête vers l’@IP du syno (localhost) et sur le port 5000 et je vérifie que la connexion est OK Voici le schema explicatif du traitement : ** Firewall du Syno : Bien sûr le port 5000 doit être ouvert sur le Firewall de votre syno !!! ** Configuration de la connexion au DSM : La redirection du port 5000 vers le port 5001 pour le DSM doit être désactivé !!! Connexion aux applications DS (Ds file, DS Audio, DS Photo etc….) **Je pars du principe que vous avez activé ces applications, que vous avez téléchargé ces applications sur votre téléphone ou tablette, et que vous vous connectez parfaitement chez vous avec votre WIFI ! **Si ce n’est pas le cas, c’est une doc ou un autre tuto que vous devez consulter avant de suivre la suite. Ces applications fonctionnent avec les ports suivant (nativement bien sûr) : DS Photo : port DS File : port 5005 (c’est le port WEBDAV qui est utilisé) DS Audio : port 8800 DS Download : port 8000 DS Surveillance : port 9900 DS Video : port 9007 Donc nous devons créer un Backend pour chaque application comme ceci : Nom : nom de l’application exemple : dsvideo Serveur : redirection l’IP et le port exemple : dsvideo localhost :9007 check Voici la liste des Backends que vous allez utiliser si vous restez cartésien dans la dénomination des backends : Maintenant nous allons créer les associations Nous allons associer le Frontends HTTPS pour plus de sécurité avec le backends voulu ou correspondant avec une condition. Nous conditionnons chaque association par le nom du sous domaine que nous voulons utiliser pour l’application DS de notre choix. Exemple : pour utiliser DS Video, je vais créer une association en Frontend HTTPS et le Backend dsvideo avec la condition que l’adresse internet commence par dsvideo. Voici ce que vous devez retrouver pour les associations dsvideo et dsphoto : Je vous laisse faire la suite pour les autres applications DS. Maintenant la connexion depuis chaque application Nous devons nous connecter à une application DS suivant les règles que nous avons établie dans haproxy : Pour l’application dsvideo : l’adresse doit commencer par dsvideo. Les connexions doivent être sécurisées : HTTPS Les connexions doivent être sur le port : 443 Le nom de domaine que j’utiliserais dans cet exemple est : site.fr Mise en forme de l’adresse de connexion : [nom de l’application] . [nom de domaine] :443 Exemple pour l’application dsvideo : dsvideo.site.fr :443 Compte : un compte qui a les droits sur l’application Mot de passe : mot de passe associé HTTPS : Activé **pour l’application photo, le port (:443) n’est pas obligatoire Rassemblement des informations sur le paramétrage Haproxy. Bon maintenant que les fonctions de bases sont établies, je vais rassembler ce que j’ai lu sur le fofo et que je pense avoir compris et utilisé pour améliorer le paramétrage. 1. Modification du paramétrage de base : A. Backend par défaut * * si votre url ne correspond a aucune regle definit dans haproxy alors les requettes seront envoyées vers un backend, le backend par defaut, qui est dans le frontend que vous utilisé. Dans le Frontends HTTPS : le "backend par défaut" est "web". Dans le Frontends HTTP : le "backend par défaut" est "web". Comme indiqué si dessous : Ce qui veut dire qu’un mauvaise url entrainera l’accès à votre site web. !!! Ce qui est vrais pour les requêtes en https mais pas en http parce que l’association n’est pas créé. !!! Si nous supprimons les 2 backends par defaut, le navigateur renverra : 503 Service Unavailable No server is available to handle this request. !!! A partir de maintenant je vais donner des options et chaque option doit être séparé par une virgule !!!! B. Redirection des requette http vers le https Vous devez éditer le frontend "http" et ajouter dans la partie "option" : redirect scheme https C. Exclusion de certaine requette Maintenant nous voulons exclure certain application de cette règle de redirection, comme les sites web et video par exemple. il faut compléter option précedent par : "unless { hdr_beg(Host) -i web. video. }" Ce qui donne au final l'option suivante : redirect scheme https unless { hdr_beg(Host) -i web. video. } ** Par contre l’association doit être crée pour que ça fonctionne. Donc nous devons créer une "association" entre le frontend "http" et le backend "web" comme ceci (idem pour video) -------------------------------------------------- Première ACL (Cette acl fonctionne avec la version 1.5-dev21-11) cette acl permet de créer une authentification sur un backend comme le .htaccess d'Apache (merci à MEAT) 1) Dans le fichier template de haproxy (/usr/local/haproxy/var/haproxy.cfg.tpl) Ajoutez à la fin : userlist my_users user utilisateur insecure-password motdepasse Remplacez "utilisateur" et "motdepasse" par votre login et votre mot de passe. Vous pouvez ajouter autant de ligne "user" que nécessaire 2) Dans l'interface Haproxy, ajouté dans les options du Backend qui doit avoir ce mode de connexion (exemple gateone) cette acl : nom : gateone Serveurs: gateone localhost:8271 check ssl Option: acl auth_access http_auth(my_users), http-request auth realm Authentification if !auth_access !! Par contre si l'on veux utiliser cette ACL pour toutes les connexions HTTPS, ajouter cette option dans le Frontend HTTPS comme ceci : Nom : https Binds : :5443 ssl crt /usr/local/haproxy/var/crt/default.pem Backend par défaut : web Options : option http-server-close,option forwardfor,acl auth_access http_auth(my_users),http-request auth realm Authentification if !auth_access,rspirep ^Location: http://(.*)$ Location: https://1 Bien sur cliquer sur écrire la configuration !! -------------------------------------------------- je posterais le resultat de mes test sur les ACLs j'espere que ce poste servira. Via PS : Mise a jour pour les connexions aux application DS Modifié le 2 octobre 2014 par via78 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
RPP Posté(e) le 14 mars 2014 Partager Posté(e) le 14 mars 2014 Bonjour, voilà quelque chose de claire. Si tu as l'information pour rediriger vers au pc, par exemple pour une prise en main à distance, ça m'interesse. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
dardevil91 Posté(e) le 16 mars 2014 Partager Posté(e) le 16 mars 2014 même si je comprends pas tout c'est un super tuto bravo et vivement la suite 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
via78 Posté(e) le 18 mars 2014 Auteur Partager Posté(e) le 18 mars 2014 bonjour Bonjour, voilà quelque chose de claire. Si tu as l'information pour rediriger vers au pc, par exemple pour une prise en main à distance, ça m'interesse. pour l'instant haproxy est configuré en mode http, donc je ne pense pas que ce soit possible en l'état. il existe le mode TCP mais je ne sais pas si ca peux cohabiter. même si je comprends pas tout c'est un super tuto bravo et vivement la suite dis moi ce que tu ne comprend pas, ca me permetera d'étoffer le tuto Via 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
jaigliss Posté(e) le 19 mars 2014 Partager Posté(e) le 19 mars 2014 Bonjour, Suite à un plantage de Haproxy sur mon 214Play, il m'est impossible de le reinstaller, il ne semble plus en ligne. Quelqu'un aurait il le spk ? PS : super tuto, même si j'avais fini ma configuration avant de le découvrir 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
via78 Posté(e) le 19 mars 2014 Auteur Partager Posté(e) le 19 mars 2014 Bonjour, Suite à un plantage de Haproxy sur mon 214Play, il m'est impossible de le reinstaller, il ne semble plus en ligne. Quelqu'un aurait il le spk ? PS : super tuto, même si j'avais fini ma configuration avant de le découvrir salut, je ne pense pas que ce soit le lieu pour ta question mais plus ici => http://www.nas-forum.com/forum/forum/210-paquets-fournis-par-synocommunitycom/ merci pour le PS Via 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
jaigliss Posté(e) le 19 mars 2014 Partager Posté(e) le 19 mars 2014 yes, j'y vais de ce pas. Sorry ! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
via78 Posté(e) le 21 mars 2014 Auteur Partager Posté(e) le 21 mars 2014 Mise a jours connexion DS depuis hier soir Via 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
jaigliss Posté(e) le 21 mars 2014 Partager Posté(e) le 21 mars 2014 Je reviens par ici car je bloque sur une toute petite chose, j'accède a mon NAS via Haproxy : nomdedomaine.fr/audio (redirigé vers https) : OK nomdedomaine.fr/file (redirigé vers https) : OK nomdedomaine.fr/dsm (redirigé vers https) : OK nomdedomaine.fr/photo (redirigé vers https) : OK je me suis inspiré de ce fil : le seul truc qui coince c'est pour videostation car si j'utilise le même méthode, videostation se retrouve en Https et il ne fonctionne plus (acces ok mais pas les videos) je sèche sur le frontend en http (redirect scheme https unless...) unless quoi je ne sais pas comment lui dire que si je rentre mon adresse mondomaine.fr/video il ne me renvoie pas vers le https j'ai testé ta méthode qui fonctionne parfaitement (video.mondomaine.fr) mais je voudrais pouvoir y acceder comme ça. Si tu as une idée, par avance merci 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
via78 Posté(e) le 24 mars 2014 Auteur Partager Posté(e) le 24 mars 2014 salut, je n'ai pas tester ça mais je combinerais redirect scheme https unless { use_backend video } ou redirect scheme https unless { path_beg /video } tu es déjà dans les ACL, et je ne suis pas un expert dans le domaine. je Rassemble ce que j'ai trouvé et que je pense avoir compris. donc si ce que je te donne fonctionne, fais moi un retour que je complète ce tuto ** par contre, test complétement ton accès photo : "nomdedomaine.fr/photo (redirigé vers https) : OK " jusque là d'accord et maintenant clic sur blog !! Et que ce passe t il ?? Via 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
jaigliss Posté(e) le 25 mars 2014 Partager Posté(e) le 25 mars 2014 Effectivement pour photostation si j'active le blog j'ai un message d'erreur (pas trop grave, car je ne m'en sers pas), j'avais deja essayé 'redirect scheme https unless { path_beg /video }' mais apparement la redirection fonctionne bien. Je me suis rendu compte que le comportement n'est pas le même si je suis sous Firefox ou chrome, sous Firefox il faut que j'ouvre le port 9007 sur le routeur sinon j'accède a vidéostation, mais pas possible de lire une vidéo, sous chrome j'ai un écran blanc...). Si je suis connecté sur chrome en dsm, j'ai un message d'erreur si j'ouvre un autre onglet pour vidéostation, il faut que je ferme la session dsm pour avoir l'invite d'authentification vidéostation, je ne sais pas s’il y a moyen de forcer la fermeture de session quelque part ? je continue mes (modestes) recherches. merci pour ton aide. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
benji5620 Posté(e) le 29 mars 2014 Partager Posté(e) le 29 mars 2014 Bonjour, Super tuto ! Par contre, je rencontre un problème de connexion avec l'application DS File sur mon Iphone. Pourtant les autres applications fonctionnent correctement et sont paramétrées de la même manière. Mes paramètre de connexion sur mon Iphone : dsfile.mondomaine.fr:443 je coche https Mon frontend : - Nom : http - Binds : 5080 - Backend par défaut : web - Options : option http-server-close,option forwardfor - Nom : https - Binds : 5443 ssl crt /usr/local/haproxy/var/crt/default.pem - Backend par défaut : web - Options : option http-server-close,option forwardfor,rspirep ^Location: http://(.*)$ Location: https://1 Mon backend : - nom : dsfile - serveurs : dsfile localhost:5005 check Mon association : - frontend : https - backend : dsfile - condition: if { hdr_beg(Host) -i dsfile. } Mon pare-feu : Port 5005 autorisé Savez-vous où la connexion bloque svp? Merci 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
via78 Posté(e) le 31 mars 2014 Auteur Partager Posté(e) le 31 mars 2014 (modifié) bonjour, avant de regarder haproxy, la connexion au dsfile en wifi local (avec l'adresse IP du nas, en http avec un bon login et un bon mot de passe)fonctionne ??? si oui, que rentre tu pour te connecter a ton dsfile? heu as tu fais "écrire la configuration" ? sinon, ca n'est pas pris en compte Via Modifié le 1 avril 2014 par via78 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sirkazey Posté(e) le 2 avril 2014 Partager Posté(e) le 2 avril 2014 en l'uccurrence, le port 5005 ouvert ne sert à rien, c'est l'intéret de haproxy. Il fait de la redirection vers un autre port! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
jaigliss Posté(e) le 2 avril 2014 Partager Posté(e) le 2 avril 2014 J'ai un peu avancé sur ma config, je suis passé en redirection https même sur videostation (c'était ça mon problème d'authentification), j'arrive à lire quasiment toutes mes videos depuis la mise a jour du plugin VLC depuis un navigateur. (sauf safari car je suis sous mac) http://nightlies.videolan.org/build/macosx-intel/VLC-webplugin-20140331-1131.dmg J'ai refermé mon port video 9007 sur mon routeur et seulement laissé le ,443 et le wake on lan. j'accede a mon NAS sur l'ipad Air grace a quickconnect (videostation, filestation...) et c'est le plus simple je pense et j'avoue que ça marche bien. par contre j'ai encore un petit pb, j'heberge un serveur cops et myreadings mais il faut que j'insiste lourdement pour que le site s'affiche (cache effacé) et je ne sais pas pourquoi ? Une idée peut etre ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
via78 Posté(e) le 2 avril 2014 Auteur Partager Posté(e) le 2 avril 2014 (modifié) bonjour, en l'uccurrence, le port 5005 ouvert ne sert à rien, c'est l'intéret de haproxy. Il fait de la redirection vers un autre port! le port 5005 doit etre ouvert sur le firewall du nas pas du routeur ! J'ai un peu avancé sur ma config, je suis passé en redirection https même sur videostation (c'était ça mon problème d'authentification), j'arrive à lire quasiment toutes mes videos depuis la mise a jour du plugin VLC depuis un navigateur. (sauf safari car je suis sous mac) http://nightlies.videolan.org/build/macosx-intel/VLC-webplugin-20140331-1131.dmg J'ai refermé mon port video 9007 sur mon routeur et seulement laissé le ,443 et le wake on lan. j'accede a mon NAS sur l'ipad Air grace a quickconnect (videostation, filestation...) et c'est le plus simple je pense et j'avoue que ça marche bien. par contre j'ai encore un petit pb, j'heberge un serveur cops et myreadings mais il faut que j'insiste lourdement pour que le site s'affiche (cache effacé) et je ne sais pas pourquoi ? Une idée peut etre ? heu, là je ne peux pas t'aider, je ne joue pas avec ces applications alors pose ta question sur le fofo http://www.nas-forum.com/forum/forum/210-paquets-fournis-par-synocommunitycom/ Via Modifié le 2 avril 2014 par via78 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
jaigliss Posté(e) le 2 avril 2014 Partager Posté(e) le 2 avril 2014 heu, là je ne peux pas t'aider, je ne joue pas avec ces applications alors pose ta question sur le fofo http://www.nas-forum.com/forum/forum/210-paquets-fournis-par-synocommunitycom/ Via Je pose la question ici car je pense que le problème vient de ma configuration haproxy. Je ne t'embeterai plus, merci quand même. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
via78 Posté(e) le 2 avril 2014 Auteur Partager Posté(e) le 2 avril 2014 tu ne me dérange pas, je ne prétend pas être un expert sur le sujet. ce tuto est surtout un retour d'expérience et est la pour aider a l'utiliser et pour avoir une prise en main du produit plus rapidement. par contre, tous retour de votre par peux l'enrichir. ce package est issu SynoCommunity.com donc tu auras plus d'utilisateurs de haproxy qui pourront te répondre sur les problèmes avec tes serveurs que je ne connais pas et que je n'ai pas d'installer sur mon nas. Donc oui ca peux venir de ta conf haproxy mais je ne peux pas t'aider. Via 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
jaigliss Posté(e) le 2 avril 2014 Partager Posté(e) le 2 avril 2014 C'est vrai que j'ai un peu pollué ton topic avec mes problèmes perso , je comprends ta démarche et ton souci de lisibilité pour les debutants. Sans rancune. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
lololo Posté(e) le 11 avril 2014 Partager Posté(e) le 11 avril 2014 Hello, est-ce possible d'utilier Haproxy pour rediriger une requête sur le réseau local (exemple machine.XXXX.com tape sur une machine de mon réseau avec un port défini ?) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
via78 Posté(e) le 11 avril 2014 Auteur Partager Posté(e) le 11 avril 2014 bonjour, pour faire de l'http : oui exemple : redirigere la page de conf de ca box maintenant le package fournie est configuré en mode HTTP, mais on peux le conf en mode TCP !! attention !! c'est en ligne de commande et non en interface graphique dans ce cas. je n'ai pas tester ce mode et je ne sais pas si les deux modes peuvent etre utilisé en meme temps. via 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
lololo Posté(e) le 11 avril 2014 Partager Posté(e) le 11 avril 2014 ok cool...merci pour ta réponse ++ 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
lololo Posté(e) le 1 mai 2014 Partager Posté(e) le 1 mai 2014 J'ai encore une quesiton : est-ce que quelqu'un sait comment désactiver les logs de haproxy dans le centre de journaux....il me spam ! Merciiii 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
loupou Posté(e) le 17 mai 2014 Partager Posté(e) le 17 mai 2014 J'ai un petit problème d'installation du paquet haproxy_x86_1.5 pour mon NAS DS1513+ en DSM 5.0-4482 J'ai installé le paquet Pyhton 2.7.6-3 mais quand j'effectue une installation manuelle de haproxy, j'ai le message que je dois installer un python > 2.7.3-3 ce qui est déjà fait (avec reboot du syno.) Donc, je ne peux installé le paquet haproxy.. Un conseil pour lever ce problème ..? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sylm_fr Posté(e) le 17 mai 2014 Partager Posté(e) le 17 mai 2014 installe la version de Pyhton fournie par synocommunity Celle fournie par Syno n'est pas détrectée par Haproxy 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
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.