Aller au contenu

Mettre En Place Une Config Reverse Proxy


CoolRaoul

Messages recommandés

peut-être que les reponses se trouvent dans le https.conf du rep etc/httpd/conf et dans etc/httpd/conf/extra

J'ai bien entendu un peu décortiqué les fichiers de conf et leur diverses intrications

(et Il n'y a pas de https.conf)

La fichier maître est "/etc/httpd/conf/httpd.conf" qui est construit dynamiquement au démarrage du service httpd-user à partir d'autres fichiers qui sont concaténés et inclus encore d'autres (lignes "include")

La partie serveur SSL est déclaré par conf/extra/httpd-ssl.conf (lui aussi construit dynamiquement et qui fait partie des fichiers inclus).

Ce que je ne m'explique pas c'est pourquoi il faut que les déclarations de vhost SSL soit faites *avant* l'include de ce dernier pour que ça marche, d'autant plus que DUMP_VHOST m'indique dans les deux cas que c'est bon. (et en plus ça marchait avant)

Lien vers le commentaire
Partager sur d’autres sites

J'essaierai de tester l'ajout de sites via le panneau de conf.

Inutile c'est confirmé, j'ai bien vérifié

Faut se dire que ceux qui voudront utiliser déclarer des virtualhosts tout en utilisant le reverse proxy seront forcément capable de le faire à la main en se paluchant le fichier de conf et devront éviter l'interface DSM pour ça.

Restait un truc qui me tracassait: dans de plus anciennes versions de DSM, toute modification manuelle de ces fichiers (qui n'étaient pas au même endroit mais assuraient la même fonction) avait pour effet de faire planter la sauvegarde de configurations (et j'avais sué pour trouver le lien de cause à effet)

La j'ai vérifié: apparemment ce n'est plus le cas.

Donc, sous réserve des précautions indiquée plus haut, on va pouvoir basculer vers cette approche.

Va falloir que j'ajoute un correctif au premier post du fil .

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

Hello.

Je suis ravi de voir qu'une solution a été trouvée, je vais essayer de résumer ce que j'ai lu car je ne suis pas certain d'avoir tout bien suivi :

  1. Il ajouter la ligne include
    • PAS dans /etc/httpd/conf/httpd.conf-user
    • MAIS dans /etc/httpd/sites-enabled-user/httpd-vhost.conf-user (fichier vide par défaut)
    • Ou bien, toujours dans /etc/httpd/conf/httpd.conf-user mais non plus à la fin mais au sein du bloc <IfDefine SSL>...</IfDefine>
    • => quelle différence entre ces deux solutions ?
  2. Les lignes à ajouter pour chaque vhost sont maintenant :
<VirtualHost *:443>
Servername subdomain.domain.com
SSLEngine on
SSLProxyEngine on
ProxyPass / https://localhost:port/
ProxyPassReverse / https://localhost:port/
</Virtualhost>

Il ne faut donc plus écrire les lignes ci dessous.
(je ne connais pas grand chose à apache et sa configuration mais selon mes lectures, ce serait moins "safe" en retirant le second lots de lignes.

==> Est-on vraiment obligé de les retirer ?

NameVirtualHost *:443
SSLCipherSuite HIGH:MEDIUM
SSLProtocol all -SSLv2
SSLCertificateFile /usr/syno/etc/ssl/ssl.crt/server.crt
SSLCertificateKeyFile /usr/syno/etc/ssl/ssl.key/server.key


ProxyRequests Off
ProxyVia Off
 <Proxy *>
     Order deny,allow
     Allow from all
 </Proxy>

En tout cas un vrai merci à vous pour vos investigations !

EDIT : j'ai fait deux tests et aucun ne fonctionne

le 1er avec la ligne include dans /etc/httpd/conf/httpd.conf-user au sein du bloc <IfDefine SSL>...</IfDefine>

le 2nd avec la ligne include dans /etc/httpd/sites-enabled-user/httpd-vhost.conf-user

Dans les deux cas le include pointe vers un fichier dont le contenu est :

<IfModule !proxy_module>
    LoadModule proxy_module modules/mod_proxy.so
</IfModule>

<IfModule !proxy_connect_module>
    LoadModule proxy_connect_module modules/mod_proxy_connect.so
</IfModule>

<IfModule !proxy_http_module>
    LoadModule proxy_http_module modules/mod_proxy_http.so
</IfModule>

<IfModule !proxy_ftp_module>
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
</IfModule>

#ProxyRequests Off
#ProxyPreserveHost On

NameVirtualHost *:

<VirtualHost *:>
   ServerName adminstation.domain.com
   <Location />
      RedirectPermanent / https://adminstation.domain.com/
   </Location>
</VirtualHost>

<VirtualHost *:443>
   ServerName adminstation.domain.com
   SSLEngine on
   SSLProxyEngine on
#   ProxyRequests Off
#   ProxyVia Off
#   <Proxy *>
#       Order deny,allow
#       Allow from all
#   </Proxy>
   ProxyPass / https://localhost:5001/
   ProxyPassReverse / https://localhost:5001/
</VirtualHost>

Le fichier est bien pris en compte : l'accès via http à adminstation.domain.com est redirigé vers https.

Cependant c'est la page par défaut de webstation qui s'affiche alors.

Je ne comprends pas.

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

Bonjour,

J'essaye de configurer une redirection du type:

erp.blabla.com:5080 sur une ip locale : 192.168.xx.xx:8069

est-ce possible ?

si oui , quelle serait la config à utiliser svp ?

en fait mon fournisseur d'accès internet ne redirige pas le port 80 mais 5080.

et mon hébergeur me permet uniquement de créer un sous-domaine pointant sur une ip et pas une ip:port

merci beaucoup,

Fred

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

J'essaye de configurer une redirection du type:

erp.blabla.com:5080 sur une ip locale : 192.168.xx.xx:8069

est-ce possible ?

si oui , quelle serait la config à utiliser svp ?

en fait mon fournisseur d'accès internet ne redirige pas le port 80 mais 5080.

et mon hébergeur me permet uniquement de créer un sous-domaine pointant sur une ip et pas une ip:port

Pas besoin de reverse proxy pour ça, suffit d'ajouter la redirection de port dans la box/le routeur:

*:5080 -> 192.168.xx.xx:8069

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

Pas besoin de reverse proxy pour ça, suffit d'ajouter la redirection de port dans la box/le routeur:

*:5080 -> 192.168.xx.xx:8069

J'ai oublié de préciser que j'étais pas sur le même sous réseau , j'ai un syno avec 2 ports ethernet .

mon routeur a pour IP LAN 192.168.2.1

mon syno a une IP LAN1 : 192.168.0.58

mon syno a une IP LAN2 : 192.168.2.50

et le but est de joindre l'ip 192.168.0.64:8069

donc avec cette config je dois utiliser le reverse proxy non ?

Merci pour ta réponse en tout cas.

Lien vers le commentaire
Partager sur d’autres sites

bonsoir

@sleepyhead95

EDIT : j'ai fait deux tests et aucun ne fonctionne

essaye deja de ne modifier que le fichier dont j'ai parlé pour vérifier ta conf

A savoir : httpd-ssl-vhost.conf-user situé dans /etc/httpd/sites-enabled-user/

@g0rg

l'idée ici et le besoin est de rediriger les requêtes vers des serveurs web différents mais en utilisant le même port (80 ou 443).

la redirection se fait via la verification du "sous"domaine

ex : http://musique.toto.fr ou http://video.toto.fr

Lien vers le commentaire
Partager sur d’autres sites

J'ai oublié de préciser que j'étais pas sur le même sous réseau , j'ai un syno avec 2 ports ethernet .

mon routeur a pour IP LAN 192.168.2.1

mon syno a une IP LAN1 : 192.168.0.58

mon syno a une IP LAN2 : 192.168.2.50

et le but est de joindre l'ip 192.168.0.64:8069

donc avec cette config je dois utiliser le reverse proxy non ?

Merci pour ta réponse en tout cas.

Alors là, je ne comprend ni ta config, ce que tu veux faire, quel est l'équipement ayant pour IP 192.168.0.64 et le role que joue ton fournisseur d’accès dans cette histoire. :huh:

Lien vers le commentaire
Partager sur d’autres sites

Tu dis en HTTPS que pour le moment on n'a un PB et en HTTP tous court ? ta une solution ?

Pas sur de comprendre la question,

Le problème ne portait que pour les connexion HTTPS mais une solution a été donnée dans les messages suivants.

Le tuto n'a pas été encore mis à jour en conséquence (cause: flemme passagère)

Lien vers le commentaire
Partager sur d’autres sites

je voulais savoir quelle fichier modifier pour ajouter un reverse proxy en HTTP

En simple HTTP, le tuto reste d'actualité.

Mais si on veut partir sur une config propre:

  • commencer par créer sa conf (telle que décrit dans le tuto) dans un fichier de son choix (je conseille un truc du genre "/usr/local/etc/httpd-proxy.conf") en omettant toute la partie SSL
  • et on ajoute la ligne:

    include /usr/local/etc/httpd-proxy.conf
    dans "/etc/httpd/sites-enabled-user/httpd-vhost.conf-user" (qui doit être initialement vide)

Pour la partie SSL, utiliser un *autre* fichier de conf perso (exemple "/usr/local/etc/httpd-ssl-proxy.conf"), celui-ci à inclure, en utilisant la même syntaxe, dans: "/etc/httpd/sites-enabled-user/httpd-ssl-vhost.conf-user"

Ne pas oublier que ces fichiers /etc/httpd/sites-enabled-user/httpd*vhost.conf-user peuvent être écrasés à chaque mise à jour majeure de DSM.

je l'ai tester cette solution.... cela ne marche pas mieux ou alors je me suis planter....

Je pencherai plutôt vers la deuxième hypothèse, vu que tu es le seul jusqu'ici à avoir signalé avoir rencontré un dysfonctionnement. Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Et que pense tu de HAPROXY ?

J'ai aussi testé, ca marche aussi.

Sans doute même plus simple à configurer une fois compris le principe (mais un membre s'est fendu d'un tuto heureusement).

Il a en plus des avantages comme le support des websockets (requis par gateone) et de protocoles non http.

C'est parce qu'il m'avait fait des misères au début (freeze du NAS) que j'était retourné vers cette solution "pur apache" et suis resté dessus.

En plus comme j'ai pondu le tuto, je suis bien obligé de continuer à l'utiliser l'approche reverse proxy si je veux en assurer le support.

Mais je pense qu'avec le temps le package haproxy a eu le temps de devenir bien robuste.

J'ai de nouveau rebasculé dessus il y a quelque jours dans l'attente que quelqu’un trouve une solution au problème SSL consécutif à l'update DSM et n'ai pas eu de problème avec (juste que le spk n'étant pas dispo sur le repo j'avais du le télécharger via un lien posté dans un fil du forum)

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

Perso je n'utilise plus que HAProxy, avec le GUI c'est super simple à configurer et il offre vraiment beaucoup de possibilités. Mon HAProxy communique en SSL avec l'exterieur (c'est lui qui gère la couche SSL) et en HTTP en local. Du coup pas besoin de configurer le SSL dans chaque backend (SickBeard, CouchPotato, etc.), et il est par conséquent aussi possible de rajouter du SSL à un backend qui ne le supporte pas B)

HAProxy supporte une mise à jour de firmware sans problème, pas de configuration à refaire.

Je vais faire une mise à jour de HAProxy ce soir vers la dev26 et voir pour corriger certains problèmes que les utilisateurs ont remonté depuis la dernière version.

Lien vers le commentaire
Partager sur d’autres sites

Je vais faire une mise à jour de HAProxy ce soir vers la dev26 et voir pour corriger certains problèmes que les utilisateurs ont remonté depuis la dernière version.

A ce propos, si on veut être tenu au courant de l'arrivée de nouvelles versions *stables* du package, faut s'abonner à un fil en particulier ou tu aurais un fil RSS à proposer?

Lien vers le commentaire
Partager sur d’autres sites

j'etait comme @CoolRaoul j'utilisait au debut HAPROXY mais n'arrivant pas a mettre le SSL + HTTP + SSH ( je veut un seul port ouvert et passer tous les protocole dedans)

du coup je suis retourné a du natif ( sans pouvoir faire ce que je voulais..lol )

Et comme ça marchais bien je n'ai pas changer...

mais la du coup il me fait de l'oeil ce HAPROXY.....lol

merci de votre retour

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Comme je le disais dans un post precedent, j'utilisais HAPROXY auparavant avant un seul port d'ouvert le 443.

Le package etant KO depuis la V25 je suis reparti sur la modif des fichiers apache.

ma conf est opérationnelle avec les infos que j'ai fournies plus haut. Même après MAJ du DSM en dernière version (faite volontairement après)

je n'ai pas tester pour l'instant la partie spécifiée par coolraoul, cad le include.

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.