Aller au contenu

Apache Reverse Proxy (Ex : Subdomain + Port 80 -> Port 7000)


Messages recommandés

Bonjour à tous.

J'ai suivi le tutorial suivant (ici) pour mettre en place un reverse proxy me permettant d'accéder au nas depuis les ports 80 et 443, les autres étant bloqués au bureau. Le problème est que tout fonctionnait parfaitement jusqu'à ce que je "réinstalle" DSM (bouton reset etc...)

Les fichier de configuration pour les différents virtualhosts sont les mêmes (un pour videostation un pour filestation ...) mais cela ne fonctionne plus.

le fichier tel que présenté dans le tuto:

<IfModule !proxy_module>
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
</IfModule>


ProxyRequests Off
#ProxyPreserveHost On


NameVirtualHost *:


#For File Station
<VirtualHost *:>
ServerName filestation.mydomainname.myds.me
<Location />
RedirectPermanent / https://filestation.mydomainname.myds.me/
</Location>
</VirtualHost>


NameVirtualHost *:443


<VirtualHost *:443>
ServerName filestation.mydomainname.myds.me
SSLCipherSuite HIGH:MEDIUM
SSLProtocol all -SSLv2
SSLCertificateFile /usr/syno/etc/ssl/ssl.crt/server.crt
SSLCertificateKeyFile /usr/syno/etc/ssl/ssl.key/server.key
SSLEngine on
SSLProxyEngine on
ProxyRequests Off
ProxyVia Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:7000/
ProxyPassReverse / http://localhost:7000/


</VirtualHost>

La première partie du fichier fonctionne et je suis bien redirigé vers le https.

Cependant ensuite c'est comme si l'instruction pour le subdomain vers localhost:7000 était ignorée, le navigateur affiche la page par défaut de webstation :(.

J'ai copié ici : http://pastebin.com/Y77qh10e l'ensemble de ma config en incluant les "includes".

Pourriez-vous m'aider à comprendre ce qui ne va pas ?

Merci beaucoup d'avance !

Lien vers le commentaire
Partager sur d’autres sites

Pourquoi être allé chercher un autre tuto alors qu'il y en un sur ce forum. (dans la section tutos)

Et justement, si tu étais aller lire le fil de ce dernier, tu aurais constaté que j'ai indiqué hier que depuis la dernière mise à jour DSM la partie SSL ne fonctionnait plus et n'avais pas trouvé de solution pour le moment.

Moi même j'ai du me résoudre à migrer vers haproxy.

Lien vers le commentaire
Partager sur d’autres sites

Hello.

J'ai suivi un autre tutoriel car j'ai effectué une recherche sur google et que le tuto du forum n'y est pas ressorti.

Il y a un tuto pour Haproxy quelque part ?

Il est possible que Apache ET haproxy écoute les ports 80 et 443 ?

Merci beaucoup en tout cas.

(Hors sujet ici, mais la dernière maj m'a aussi pété le partage AFP : seul les admin peuvent accéder aux nas via afp maintenant !)

Lien vers le commentaire
Partager sur d’autres sites

J'ai suivi un autre tutoriel car j'ai effectué une recherche sur google et que le tuto du forum n'y est pas ressorti.

C'est une blague?

C'est la *premiere* réponse que trouve google:

FWefsCA.png

Il y a un tuto pour Haproxy quelque part ?

Oui, dans ta section Tutorials du forum, sujet

Il est possible que Apache ET haproxy écoute les ports 80 et 443 ?

Non, mais lis d'abord le tuto et tu comprendras que c'est inutile (haproxy écoute sur d'autre ports et sert de "passe-plat" à Apache (ou autre services)

Lien vers le commentaire
Partager sur d’autres sites

En effet, il remonte.

S'il te faut tous les détails, je me souvenais avois mixé deux tutos (entre autre pour le "haut" du fichier de config qui me semblait plus propre ici). Je ne me souvenais pas que le second était ici. Ensuite j'utilise autant google que duckduckgo qui lui ne le remonte pas d'où mon oubli. Mais on s'en moque un peu non ? :)

En effet, en passant de 80/443 à 5080/5443 via le routeur on peut laisser apache sur 80/443. Cool.

Avant de passer par la solution du reverse proxy via le apache synology natif, je l'avais fait via nginx (obtenu via ipkg).

Ca fonctionnait impec hormis le débit complètement asthmatique. J'ai pensé à une affaire de buffer ou ne je sais quoi et ne maîtrisant pas trop nginx, je me suis dit qu'en ne multipliant pas les softs ça irait mieux. Et en effet, ça marchait bien avec Apache jusqu'à cette mise à jour.

L'utilisation de Haproxy impacte-t-elle le débit selon ton expérience ?

Enfin, je vois sur le fil de discussion haproxy que tu utilises le Firewall du syno.

Puis-je te demander pourquoi ? Celui du routeur ne suffit pas ?

Merci beaucoup en tout cas.

Lien vers le commentaire
Partager sur d’autres sites

L'utilisation de Haproxy impacte-t-elle le débit selon ton expérience ?

Nullement, aucune différence

Enfin, je vois sur le fil de discussion haproxy que tu utilises le Firewall du syno.

Puis-je te demander pourquoi ? Celui du routeur ne suffit pas ?

Mon routeur est une Freebox, il n'existe aucun moyen de configurer son firewall.

Pas le choix si je veux faire de réglages fins donc.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Bonjour à tous,
Je pense ajouter une contrainte au sujet initial de ce post,

J'ai pu reproduire le tuto indiqué un peu plus haut de ce forum, mais ca ne fonctionne pas et je pense (peut etre) savoir pourquoi, par contre, je ne sais pas quoi faire de plus pour le placer correctement, car l'include est déjà à la fin..

A la fin du tuto, lorsque je redémarre le serveur apache, si je regarde dans le fichier "/etc/httpd/conf/httpd.conf" des lignes supplémentaires s'ajoutent :
- Include /usr/local/etc/http.d/revproxy.conf
- Include /etc/httpd/conf/extra/httpd-userdir.conf-user
- Include /etc/httpd/sites-enabled-user/httpd-vhost.conf-user
- DocumentRoot "/var/services/web"

et notamment celle la : DocumentRoot "/var/services/web" qui se place après l'include du fichier revproxy.conf...
Je pense que c'est pour ca que le reverse proxy ne fonctionne pas... je suppose.
Est-ce que vous pouvez me confirmer cette piste ? et si vous avez déjà rencontré par hasard le problème et que vous avez une astuce je suis preneur. :)
PS : pour le reste, j'ai suivi le tuto à la lettre.

Lien vers le commentaire
Partager sur d’autres sites

A la fin du tuto, lorsque je redémarre le serveur apache, si je regarde dans le fichier "/etc/httpd/conf/httpd.conf" des lignes supplémentaires s'ajoutent :

- Include /usr/local/etc/http.d/revproxy.conf

- Include /etc/httpd/conf/extra/httpd-userdir.conf-user

- Include /etc/httpd/sites-enabled-user/httpd-vhost.conf-user

- DocumentRoot "/var/services/web"

Attention, le tuto n'est plus à jour depuis la dernière update DSM (faut lire la fin du fil à partir d')

En gros, faut splitter sa configuration perso en deux partie, en déplaçant les virtualhosts SSL dans un fichier séparé. et inclure chacun d'eux respectivement dans "/etc/httpd/sites-enabled-user/httpd-ssl-vhost.conf-user" et "/etc/httpd/sites-enabled-user/httpd-vhost.conf-user"

Est-ce que vous pouvez me confirmer cette piste ? et si vous avez déjà rencontré par hasard le problème et que vous avez une astuce je suis preneur. :)

Tout ce que je peux confirmer c'est que ce comportement est normal, le contenu de "httpd.conf" est généré dynamiquement juste avant de démarrer d'apache. Et la présence de cette ligne ne pose pas de problème (ça marche pour les autres)

PS : pour le reste, j'ai suivi le tuto à la lettre.

Peut-être essayer la alors ? Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Merci bien pour ta réponse.

Ok, donc pas d'impact pour ce qui est du httpd.conf :mellow:

Je tente dans un premier temps de mettre en place la configuration sans le SSL, juste en HTTP simple histoire de voir si ca marche. J'ai bien déplacé l'appel du fichier de config perso dans "/etc/httpd/sites-enabled-user/httpd-vhost.conf-user" qui était bien vide d'ailleurs mais finalement, j'ai pas l'impression que ca change grand chose, il est simplement inclu dans un autre fichier qui était déjà appelé naturellement par le http.conf...

Bref, je vais virer ce que j'ai fait et tenter avec nginx.

Merci pour ton aide en tout cas.

Lien vers le commentaire
Partager sur d’autres sites

J'ai bien déplacé l'appel du fichier de config perso dans "/etc/httpd/sites-enabled-user/httpd-vhost.conf-user" qui était bien vide d'ailleurs mais finalement, j'ai pas l'impression que ca change grand chose, il est simplement inclu dans un autre fichier qui était déjà appelé naturellement par le http.conf...

Et donc *ca* change quelque chose, puisque il se retrouve inclus à un *autre* endroit (l'ordre peut être important comme on s'en est aperçu pour la partie SSL justement)
Lien vers le commentaire
Partager sur d’autres sites

Oui tout a fait pour la partie SSL. Mais dans mon cas de test, j'étais en simple http et n'avais pas eu l'impression que ça changeait grand chose.

En fait mon blocage se situait dans la configuration du DNS du nom de domaine plutôt que dans la configuration du serveur. Maintenant tout fonctionne correctement.

J'ai finalement choisi de mettre en place la solution nginx car elle permet une meilleure stabilité lors des futures maj du DSM.

Merci d'ailleurs pour ton tuto sur le sujet :)

Lien vers le commentaire
Partager sur d’autres sites

J'ai finalement choisi de mettre en place la solution nginx car elle permet une meilleure stabilité lors des futures maj du DSM.

N'oublie pas de signaler dans le fil du tuto tout dysfonctionnement rencontré: la peinture est encore fraîche il y a probablement des boulons à serrer.

Lien vers le commentaire
Partager sur d’autres sites

  • 9 mois après...

Pourquoi être allé chercher un autre tuto alors qu'il y en un sur ce forum. (dans la section tutos)

Et justement, si tu étais aller lire le fil de ce dernier, tu aurais constaté que j'ai indiqué hier que depuis la dernière mise à jour DSM la partie SSL ne fonctionnait plus et n'avais pas trouvé de solution pour le moment.

Moi même j'ai du me résoudre à migrer vers haproxy.

Moi, je n'ai pas pu alors je vous donne la solution:

Services web -> Activer Web Station -> Hote Virtuel Puis creer un truc comme www.mon-domaine.my en HTTP et un autre en HTTPS

Cela va créer tout simplement les fichiers de conf suivants dans le répertoire "/etc/httpd/sites-enabled-user" :

"httpd-vhost.conf-user" et "httpd-ssl-vhost.conf-user" qu'il suffit de remplir avec les bonnes informations que l'on trouve dans tous les excellents tuto sur Apache et le Proxy Reverse

Enjoy It

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.