via78 Posté(e) le 30 janvier 2014 Posté(e) le 30 janvier 2014 (modifié) bonjour, je cherche a visualiser photostation avec un lien de la forme, http ou https, photo.nomdedomaine.truc et j'ai trouvé à la fin de ce poste la solution ou une solution peux etre. voici la conf. donné par NOTHiNG_Fr (merci encore) Bon, si ça intéresse quelqu'un, après de longues heures de bataille avec HAProxy et la documentation... j'ai réussi a mettre PhotoStation derriere HAProxy avec un sous-domaine : pics.MONDOMAINE.FR 2 Petites précisions : Le apache de mon syno tourne sur le 10080 et non plus sur le . HAproxy tourne sur le / 443 J'ai configurer HAproxy comme cela : Frontends : Nom : HTTPS Binds : :443 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, acl photo_path path_beg /photo/, redirect prefix https://pics.MONDOMAINE.FR/photo code 301 if { hdr(Host) -i pics.MONDOMAINE.FR } !photo_path Nom : HTTP Binds : : Backend par défaut : web Options : redirect scheme https unless { hdr(Host) -i www.MONDOMAINE.FR } Backends : Nom : photostation Serveurs : photostation localhost:10080 check Options: Associations : Frontend: HTTPS Backend: Photostation Condition: if { hdr(Host) -i pics.MONDOMAINE.FR } j'aurais besoin d'avoir des explications sur ce que j'ai mis en rouge dans cette conf. au niveau des ports, j'ai pas de probleme, je retrouve mes petits. j'ai l'impression qui ton site par defaut est forcement www.MONDOMAINE.FR. Je ne peux pas appliquer cette conf sur mon nas. Donc ai je bien compris ou est ce obliguatoire ? si je comprend bien tes regles acl sont au niveau de la conf general de haproxy alors que je la pensais plus au niveau de l'association. merci de nous donner plus d'infos sur cette conf qui me semble tres prometteuse et tres interessante. merci deja du travail Via Modifié le 31 janvier 2014 par via78 0 Citer
via78 Posté(e) le 31 janvier 2014 Auteur Posté(e) le 31 janvier 2014 bon personne pour m'aider ?? donc voici ou j'en suis dans le décodage de cette ligne acl photo_path path_beg /photo/, redirect prefix https://pics.MONDOMAINE.FR/photo code 301 if { hdr(Host) -i pics.MONDOMAINE.FR } !photo_path tu redirige vers https://pics.mondomaine.fr/photo et si tu as le code 301 en retour (c'est prevu dans la doc haproxy) tu renvoi vers la meme chose mais avec les variables. déjà ai je bien compris ? c'est quoi photo_path et path_beg ? merci d'avance Via 0 Citer
NOTHiNG_Fr Posté(e) le 31 janvier 2014 Posté(e) le 31 janvier 2014 photo_path correspond au nom de l'access list et elle se base sur le critère path_beg qui est /photo/ donc en gros : SI ton nom de domaine est : pics.mondomaine.fr (if { hdr(Host) -i pics.MONDOMAINE.FR }) et que tu n'a pas le chemin /photo/ (!photo_path) quand tu tape l'url, alors je te redirige vers https://pics.mondomaine.fr/photo ( redirect prefix https://pics.MONDOMAINE.FR/photo code 301) J'espère que ça t'aide a comprendre. 0 Citer
via78 Posté(e) le 31 janvier 2014 Auteur Posté(e) le 31 janvier 2014 ok merci, j'avance dans la décortication de ces regelés. j'aurais peux etre d'autre question merci en tous ca Via 0 Citer
via78 Posté(e) le 31 janvier 2014 Auteur Posté(e) le 31 janvier 2014 (modifié) ok alors si je comprend bien si je veux que tous cette url https://photo.monsite.com soit rediriger vers https://photo.monsite.com/photo et tous ca avec les ports standard et je forcer le https sur les connexion http il faut que j'ecrive ca comme config Frontends : 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, acl photo_path path_beg photo, redirect prefix https://photo.monsite.fr/photo code 301 if { hdr(Host) -i photo.monsite.fr/ } !photo_path Nom : HTTP Binds : :5080 Backend par défaut : web Options : option http-server-close,option forwardfor Backends : Nom : photo Serveurs : photo localhost: check Options: Associations : Frontend: HTTPS Backend: photo Condition: if { hdr(Host) -i photo.monsite.fr } ai je bien tous compris ? Via Modifié le 31 janvier 2014 par via78 0 Citer
NOTHiNG_Fr Posté(e) le 31 janvier 2014 Posté(e) le 31 janvier 2014 (modifié) yes, normalement ça devrait le faire comme ça... avec le port-forwarding sur ton routeur (ip-publique-routeur: > ip-privee-nas:5080 et ip-publique-routeur:443 > ip-privee-nas:5443) + les enregistrements DNS qui vont bien ça devrait marcher. Modifié le 31 janvier 2014 par NOTHiNG_Fr 0 Citer
via78 Posté(e) le 2 février 2014 Auteur Posté(e) le 2 février 2014 salut, alors voici ce qui fonctionne chez moi Frontends : 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, acl photo_path path_beg /photo, redirect prefix https://photo.monsite.fr/photo code 301 if { hdr(Host) -i photo.monsite.fr } !photo_path Nom : HTTP Binds : :5080 Backend par défaut : web Options : option http-server-close,option forwardfor Backends : Nom : photo Serveurs : photo localhost: check Options: Associations : Frontend: HTTPS Backend: photo Condition: if { hdr(Host) -i photo. } et ça marche super bien Un grand merci je vais pouvoir faire des acl pour chaque sous site !!! via 0 Citer
nazdroopy Posté(e) le 23 février 2014 Posté(e) le 23 février 2014 J'ai testé ton paramétrage ça marche très bien pour le site global. J'ai voulu modifier les paramètre pour utiliser les sites personnels mais ca ne fonctionne pas parfaitement. Voici ce que j'ai mis option http-server-close,option forwardfor,rspirep ^Location: http://(.*)$ Location: https://1, acl photo_path path_beg /~USERONE/photo, redirect prefix https://USERONE.monsite.fr/~USERONE/photo code 301 if { hdr(Host) -i USERONE.monsite.fr } !photo_path, acl photo_path path_beg /~USERTWO/photo, redirect prefix https://USERTWO.monsite.fr/~USERTWO/photo code 301 if { hdr(Host) -i USERTWO.monsite.fr } !photo_path si je fais https://USERONE.monsite.fr il le transforme bien en https://USERONE.monsite.fr/~USERONE/photo et je peux avoir accès aux photos par contre si je click sur le lien "blog" il me transforme l'url en https://USERONE.monsite.fr/~USERONE/photo/~USERONE/photo/blog comment faire pour ne pas avoir cet extra ~USERONE/photo ? 0 Citer
via78 Posté(e) le 24 février 2014 Auteur Posté(e) le 24 février 2014 (modifié) heuu tu as 2 acl portant le meme NOM est ce normale ?? j'ai compris ce qu'il te faut mais je ne sais pas forcement l'ecrire. si tu trouve ca "/~USERONE/photo" tu en redirige vers ton lien mais tu trouve et seulement si tu as ca "/blog" tu redirige vers https://USERONE.monsite.fr/~USERONE/blog tu peux travailler avec "unless" au lieu de if. il faut plonger dans la doc pour ca. tiens moi au jus de ton avancement parce que ca m'intéresse Via Modifié le 24 février 2014 par via78 0 Citer
nazdroopy Posté(e) le 24 février 2014 Posté(e) le 24 février 2014 je crois que j'ai du y aller un peu trop vite, je vais regarder la doc Par contre je pense que j'aurai de toute façon un problème pour le lien du blog, il ne faut pas ajouter le /~USERNAME/ car il l'ajoute de lui même. 0 Citer
via78 Posté(e) le 24 février 2014 Auteur Posté(e) le 24 février 2014 (modifié) Voilà comment je testerais mais je tâtonne encore avec les ACLs Entrée => https://photo.monsite.fr acl photo_path path_beg /photo, redirect prefix https://photo.monsite.fr/photo code 301 if { hdr(Host) -i photo.monsite.fr } !photo_path Sortie => https://photo.monsite.fr/photo Action : clic sur blog donne https://photo.monsite.fr/photo/blog entrée => https://photo.monsite.fr/photo/blog acl photo_blog_path path_beg /photo/blog, redirect prefix https://blog.monsite.fr/blog code 301 if { hdr(Host) -i photo.monsite.fr } !photo_blog_path sortie => https://blog.monsite.fr/blog Je cherche à redirige sur le site blog https://blog.monsite.fr/blog parce que sinon, il faudra des conditions à ta première ACL pour que si tu as "blog" alors /photo doit etre supprimé de l'url et ça je n'ai rien vue dans la doc pour ça. Encore une fois je ne suis pas expert, j'apprends à faire des ACLs en même temps donc je me plante peux être complètement. Via je viens de trouver ca, c'est peux être une piste, a mettre dans le frontend # Remplacer "photo.monsite.fr/photo/blog" par "photo.monsite.fr/blog" dans le nom d'hôte. reqirep ^Host: photo.monsite.fr/photo/blog Host: photo.monsite.fr/blog #on peux ajouter ca #seulement si ca commence pas photo. unless { hdr_beg(Host) -i photo. } voici l'exemple de la doc : reqirep <search> <string> [{if | unless} <cond>] (ignore case) Replace a regular expression with a string in an HTTP request line May be used in sections : defaults frontend listen backend NO YES YES YES # replace "/static/" with "/" at the beginning of any request path. reqrep ^([^ :]*) /static/(.*) 1 /2 # replace "www.mydomain.com" with "www" in the host name. reqirep ^Host: www.mydomain.com Host: www Via Modifié le 27 février 2014 par via78 0 Citer
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.