Aller au contenu

Haproxy Et Photostation


via78

Messages recommandés

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 80.
  • HAproxy tourne sur le 80 / 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 : :80

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é par via78
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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é par via78
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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é par via78
Lien vers le commentaire
Partager sur d’autres sites

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

cross.pngcheck.pngcheck.pngcheck.png

# 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é par via78
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.