Aller au contenu

Haproxy-B


Messages recommandés

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. ;)

Si je conaissait parfaitement l'outil , je poserait pas de question !

En effet, j'avais bien compris que Haproxy ne gérait pas les sous répertoires et ne voyant pas comment associer un backend à photostation , je me posait donc logiquement la question de savori comment y accèder en https alors que haproxy n'aurait aucun backend attribué à photostation... et que selon ma compréhension : pas de backend = rien qui s'affiche et j'avais pas capté la subtilité de créer un backend " wwww " qui redirigerais vers le bon truc ! ( en fait s'était juste ca que je voulais savoir ! :D )

je veux pas faire de polémique ni rien , je posais juste une question et tu est leu seul à m'avoir fournis une réponse clair au comment du pourquoi ..

je suis plus que reconaissant du travail fournis par Diaoul avec Haproxy et même si tout ca est nouveau pour moi , je ne demande qu'a apprendre !

Lien vers le commentaire
Partager sur d’autres sites

En fait, le backend s'appelle "web" et est le backend par défaut de https si aucune règle n'est matché. Ainsi, www.domain.tld, toto.domain.tld et domain.tld renvoient tous trois vers le backend web.

Le backend web (port 80) abrite plusieurs applications :

  • Photo Station via un Alias "/photo"
  • PHPMyAdmin via un répertoire dans le dossier "web" : "/phpmyadmin"
  • Tous tes sites web dans leurs répertoire respectifs sous le dossier "web" : "/tonsite"

Lien vers le commentaire
Partager sur d’autres sites

Tiens à ce propos, si on accède au NAS depuis l'extérieur en indiquant son IP, on est justement pris dans cette règle par défaut et on termine sur le backend "web" ?

Et, est-ce que HAProxy prend en compte les sous-domaines de second niveau ?

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

  • 2 semaines après...

une option de haproxy permet de forcer le https.

pour cela il faut edit le frontend de http et ajouter l'option a la fin

redirect scheme https

Merci pour l'info et je rajouterais même :

unless { hdr_beg(Host) -i nomdusousdomaine. } 

Pour ceux qui veulent quand même pouvoir accèder à des sousdomaines en http , tout en redirigeant tout les autres automatiquement vers du https , utile si on veut pouvoir utiliser videostation sur iphone/ipad étant donné que IOS ne supporte pas le streaming video sous https ..

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

Bonjour a tous,

voila je rencontre un problème de configuration avec haproxy, je dispose de plusieurs site, et notamment des wordpress installer sur le nas.

tous ses site possèdent un htaccess pour forcer le https, avec la configuration standard de haproxy j’obtiens des erreur lors du chargement des page en http.

j'ai donc désactiver tous les htaccess, mais le problème c'est que tous les site sont donc accessible en http et il est impératif pour moi d'avoir du ssl.

j'ai donc fait quelques recherche et j'ai trouver cette option (que je site un peux plus haut)

redirect scheme https

elle permet de rediriger toutes les connexions vers le https, cependant en faisant cela il m'est devenu impossible de me logger a mes site wordpress car il utilise le http pour la connexion, j'ai donc essayer de passer mes wordpress en full https, mais des que j'active cette option je retrouve le message d'erreur dans le navigateur. je suis un peux a cours d'idée.

le problème du message d'erreur viens du faite que haproxy bind le http en local, et lorsque j'utilise un htaccess pour forcer le ssl c'est le http local qui est rediriger vers le https.

y aurais t'il un moyen de faire en sorte que haproxy utilise le http et le https pour la partie local? (web web localhost:443 check ce genre de config me renvoi une bad gatway)

une autre solution serais de trouver une option que "redirect scheme https" qui redirige du http vers le https en renvoyant le GET, POST....

pouvez vous m'aidez?

cordialement

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

Bonjour a tous,

voila je rencontre un problème de configuration avec haproxy, je dispose de plusieurs site, et notamment des wordpress installer sur le nas.

tous ses site possèdent un htaccess pour forcer le https, avec la configuration standard de haproxy j’obtiens des erreur lors du chargement des page en http.

j'ai donc désactiver tous les htaccess, mais le problème c'est que tous les site sont donc accessible en http et il est impératif pour moi d'avoir du ssl.

j'ai donc fait quelques recherche et j'ai trouver cette option (que je site un peux plus haut)

redirect scheme https

elle permet de rediriger toutes les connexions vers le https, cependant en faisant cela il m'est devenu impossible de me logger a mes site wordpress car il utilise le http pour la connexion, j'ai donc essayer de passer mes wordpress en full https, mais des que j'active cette option je retrouve le message d'erreur dans le navigateur. je suis un peux a cours d'idée.

le problème du message d'erreur viens du faite que haproxy bind le http en local, et lorsque j'utilise un htaccess pour forcer le ssl c'est le http local qui est rediriger vers le https.

y aurais t'il un moyen de faire en sorte que haproxy utilise le http et le https pour la partie local? (web web localhost:443 check ce genre de config me renvoi une bad gatway)

une autre solution serais de trouver une option que "redirect scheme https" qui redirige du http vers le https en renvoyant le GET, POST....

pouvez vous m'aidez?

cordialement

bon j'ai fini par trouver une solution pour le wordpress, mais le problème reste entier, existerai t'il un rewrite url dans haproxy?

sinon pour ceux que cela intéresse pour wordpress il faut installer le module https et tous forcer en https.

autre petite chose, j'ai pas mal pofiné la conf de haproxy pour que google doc, l’éditeur d'image,photostation, photostation personnel soit accessible depuis DSM si celui ci n'est pas en défaut.

voici ma conf :

global
	daemon
	maxconn 256
	log localhost user info
	spread-checks 10

defaults
	mode http
	stats enable
	default-server inter 30s fastinter 5s
	log global
	option httplog
	timeout connect 5s
	timeout client 50s
	timeout server 50s
	timeout tunnel 1h

listen stats :8280
	stats uri /
	stats show-legends
	stats refresh 10s
	stats realm Haproxy Statistics
	stats auth admin:xxxxxx

frontend http
	bind :5080
	option http-server-close
	option forwardfor
	reqadd X-Forwarded-Proto: http
	redirect scheme https
	default_backend web

frontend httplocal  # frontend pour mon reseau local 
	bind :5081
	option http-server-close
	option forwardfor
	reqadd X-Forwarded-Proto: http
	default_backend web

frontend https
	bind :5443  ssl crt /usr/local/haproxy/var/crt/default.pem
	option http-server-close
	option forwardfor
	acl photochecker url_beg /photo/ #verif si on essai d'accéder au dossier photo et on stock le resultat dans la variable photochecker 
	acl photopersochecker url_reg ~S+S+ #verif si on essai d'accéder a un home et on stock le resultat dans la variable photopersochecker 
	acl valid_domains  hdr_end(host) -i DOMAINE.fr hdr_end(host) -i DYNDNSDOMAINE.com #verif si on accede au site par un autre domaine que le votre  et on stock le resultat dans la variable valid_domains
	reqadd X-Forwarded-Proto: https  #on set le x-Forward pour que wordpress puisse déterminer si http ou https
	rspirep ^Location: http://(.*)$    Location: https://1
	use_backend web if photochecker || photopersochecker # si photochecker  ou photopersochecker  sont valide on dirige vers le backend web
	use_backend webdav if { hdr_beg(Host) -i webdav. }
	use_backend haproxy if { hdr_beg(Host) -i haproxy. }
	use_backend allccess if { hdr_beg(Host) -i allccess. } # DSM + activation de l'alias filestation comme sa j'ai qu'une url pour DSM et filestation
	use_backend DSMIP if  !valid_domains # si valide domaine n'est pas bon on dirige vers le backend DSM car google doc et l'editeur de photo utlise l'ip du syno directement
	default_backend web

frontend httpslocal # frontend SSL pour mon reseau local 
	bind :5444 ssl crt /usr/local/haproxy/var/crt/default.pem
	option http-server-close
	option forwardfor
	reqadd X-Forwarded-Proto: https
	rspirep ^Location: http://(.*)$    Location: https://1
	default_backend web

backend web
	server www localhost: check

backend webdav
	server webdav localhost:5005 check

backend haproxy
	server haproxy localhost:8280 check

backend allccess
	server allccess localhost:5000 check

backend DSMIP
	server dsm localhost:5000 check

voila j'espère que cela pourra en aider certain.

sinon quelqu'un aurait une idée pour que DSM FILESTATION et WEBDAV prenne en compte l'ip du client et non l'ip local du serveur?

pour le moment j'ai essayer de faire ceci :

Just add a auto_prepend_file in your PHP.ini like auto_prepend_file = "c:/append.php" and in this file add this:

if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
}

mais apparemment DSM s'en fiche (par contre toutes mes pages php le prenne en compte)

quelqu'un aurait une idée, car c'est dommage que le syno bloque sa propre ip en cas d'erreur si le blocage des ip est activer

ps je corrige ici un oubli HONTEUX, MERCI Diaoul pour cette excellent package ^^

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

petite question bete:

pour utiliser les redirections qui sont reglees de base, du type https://audio.site.com pour avoir l audio station. Il faut faire quelque chose avec son registrar?

Je ne sais pas pourquoi mais cela ne marche pas chez moi

Sur Dyndns, j'ai simplement crée un A-record pointant vers l'ip du syno !

Lien vers le commentaire
Partager sur d’autres sites

ca marche avec webdav.ndd.com en revanche j ai un probleme avec le ftp.ndd.com

ca me dit Connection established, waiting for welcome message... quand je test avec le port 5000 et carrement Could not connect to server en 443 (a oui il doit pas etre redirige celui la)

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

Pour le FTP:

port TCP 20(data) et 21 (commandes) obligatoire, à moins que ces ports ne soient changé dans l'application

Pour le FTPS (FTP protégé par SSL ou TLS) :

Port par défaut TCP 990 mais peut varier selon les config.

voir là pour plus d'explications (notamment sur la partie établissement de la connexion): http://fr.wikipedia.org/wiki/File_Transfer_Protocol

Lien vers le commentaire
Partager sur d’autres sites

  • Installe le SPK et regarde si la config par défaut te va

  • Lis l'aide intégrée à DSM

  • Demande de l'aide sur les points que tu n'as pas compris
Pour être franc, je n'avais pas du tout pensé à ça.

J'ai préféré demander avant.

Mea culpa.

Je test et je reviens au cas ou.

Merci encore pour ce boulot.

Lien vers le commentaire
Partager sur d’autres sites

merde le ftp ne marche pas pour l instant

J ai aussi essaye de rediriger http://router.ndd.com vers mon routeur, mais ca ne marche pas. J ai l ip du routeur mais pas le port. Vous savez si il faut absolument le preciser?

EDIT

Il fallait effectivement le preciser, et c etait 80

ca marche.

Il ne me reste plus qu a rajouterle ftp et le ssh, mais ca n a pas l air evident, si quelqu un peut m aider d ailleurs.

Modifié par aurelized
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.