Aller au contenu

Mettre En Place Une Config Reverse Proxy


CoolRaoul

Messages recommandés

nginx est maintenant intégré au DSM depuis la version 5.0 et peut également faire office de reverse proxy.

C'est bien sûr moins convivial que HAproxy, mais je cite cette alternative juste à titre informatif.

Ça se passe dans /etc/nginx/.

J'ai rapidement parcouru la doc et il ne me semble pas possible de filtrer suivant la partie "host" de la requête.

J'ai un doute sur l'utilisation en coopération avec du virtualhosting.

**EDIT**

Ah peut être de cette façon: http://nginx.org/en/docs/http/server_names.html

**EDIT#2**

trouvé un exemple détaillé: http://www.cyberciti.biz/tips/using-nginx-as-reverse-proxy.html

Va falloir que je fasse joujou avec ça..

**EDIT#3**

A ceux qui veulent tester le bouzin, pour ne pas prendre de risque, je conseille de lancer une instance dédiée de nginx avec son propre fichier de conf, par exemple comme cela:

nginx -p /usr/local/nginx -c /usr/local/nginx/nginx.conf
Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

j'ai egalement parcourue cette doc a premiere vue on peut faire autemp de chose qu'avec apache....
Sinon chez moi meme en HTTP ça ne fonctionne pas :
J'ai ajouter directement dans le fichier : /etc/httpd/sites-enabled-user/httpd-vhost.conf-user
ces lignes :
<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>


NameVirtualHost *:


<VirtualHost *:>
ServerName *
DocumentRoot /volume1/web/
</VirtualHost>

Je n'ai pas d'erreur au re-start d'apache

mais je ne peut pas non plus afficher le root de mon site web......

Lien vers le commentaire
Partager sur d’autres sites

Pas mal avancé sur le reverse proxy avec nginx.

J'ai déjà une config qui m'a l'air de fonctionner, y compris en SSL

Please stay tuned :P

Voila, j'ai posté le tuto, plus qu'a patienter car:

"Ce message doit être accepté par un modérateur avant d'être affiché."

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Bonjour,

J'ai voulu passer à ce mode de fonctionnement (marre de devoir bidouiller à chaque mise à jour pour accéder au DSM via 443 tout ça parce que la box que j'ai ne gère pas la translation de port...)

Cependant, lors que je fais tout ce que j'ai lu sur ce topic (également pour mettre en compatibilité avec le DSM 5.0 => page 8 particulièrement)

Cela fonctionne parfaitement pour le HTTP mais rien pour le HTTPS (j'ai pourtant bien suivi ce post : )

J'obtiens le message d'erreur suivant :

 Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server configuration
Pareil avec la ligne suivante SSLProxyEngine.

Merci à qui pourra m'aider :)

Lien vers le commentaire
Partager sur d’autres sites

J'ai voulu passer à ce mode de fonctionnement (marre de devoir bidouiller à chaque mise à jour pour accéder au DSM via 443 tout ça parce que la box que j'ai ne gère pas la translation de port...)

Cependant, lors que je fais tout ce que j'ai lu sur ce topic (également pour mettre en compatibilité avec le DSM 5.0 => page 8 particulièrement)

Je te conseille de passer a nginx, ce que j'ai fait, voir mon tuto:
Lien vers le commentaire
Partager sur d’autres sites

Merci CoolRaoul.

Je ne suis vraiment pas chaud pour aller sur nginx pour deux raisons :

1. Je ne connais pas du tout (contrairement à apache, et quand je vois comment je m'en sors...)

2. Je vois que c'est encore de l'ébauche et je serai plus partant d'aller sur du sûr. J'en ai vraiment ras-le-bol de devoir tout refaire à chaque maj

Dans mon erreur, je vois bien que c'est un souci d'erreur de chargement de module (surement ssl ?) mais je ne vois pas pourquoi j'ai ce problème en fait...

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

Je ne suis vraiment pas chaud pour aller sur nginx pour deux raisons :

1. Je ne connais pas du tout (contrairement à apache, et quand je vois comment je m'en sors...)

Moi non plus je ne connaissais pas du tout, j'ai pris le temps de potasser la doc et ça m'a pris un week-end de bidouille pour aboutir à une solution qui fonctionne et les jours suivants pour affiner la solution.

De plus, je pense avoir tout fait pour que mon tuto soit suffisamment didactique.

2. Je vois que c'est encore de l'ébauche et je serai plus partant d'aller sur du sûr. J'en ai vraiment ras-le-bol de devoir tout refaire à chaque maj

Au debut j'avais ajouté "work in progress" au titre du fil, mais ça fait un bout de temps que je l'ai supprimé.

Je condisère la solution comme stable désormais

Lien vers le commentaire
Partager sur d’autres sites

Je viens de regarder mais cela me semble rédhibitoire à cause de ma :censored: de box qui ne gère pas la translation de port.

Donc je me retrouve à devoir bidouiller apache pour plus que les ports par défauts soient utilisés pour passer par nginx avec les 80/443. Autant directement configuré dsm dessus vu que c'est dans ce but là. Et comme ce que je voulais arrêter c'était la bidouille pour retirer les ports par défauts.... j'ai pas vraiment avancé.

Il faut donc que je me débrouille via apache.

Mais c'est quand même dingue, j'ai suivi tout ce qui a été dis et je suis le seul (je précise que DSM est sorti d'usine) à avoir un problème du module ssl ????

EDIT : Bon... je te remercie CoolRaoul, tu m'as répondu (mais pas à moi et dans un autre topic) faut bien activer HTTPS et pas seulement sur les paramètre de dsm, aussi sur le service web)

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

  • 1 mois après...

Hello,

CoolRaoul, j'ai suivi ton tuto pas à pas, qui est plutôt clair, bravo.

Mais... en me connectant sur https://subdomain.MONDOMAINE.myds.me, j'arrive sur une jolie page

"Web Station a été activé. Pour terminer de configurer votre site web, consultez la section "Service Web" dans l'aide de DSM."

alors que j'ai demandé une redirection sur le DSM (5001) :/

Donc visiblement pas pris en compte !

Les étapes suivies (DS213j, DSM 5, last update) :

  • Redirection des ports sur le routeur : 443 BOX -> 443 SYNO
  • Activation du "Service Web" dans la config Syno
  • Ajout d'un include dans /etc/httpd/conf/httpd.conf-user
  • Création du fichier /usr/local/etc/http.d/revproxy.conf, contenu ci-dessous :

<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>

NameVirtualHost *:443
#
<VirtualHost *:443>
ServerName subdomain.MONDOMAINE.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

ProxyPass / https://localhost:5001/
ProxyPassReverse / https://localhost:5001/
</VirtualHost>

  • Restart

/usr/syno/sbin/synoservicecfg --restart httpd-user

J'ai provoqué des erreurs de syntaxe au niveau de l'include ou dans le fichier revproxy.conf pour m'assurer que c'était bien lu, et au restart d'Apache, je vois bien des erreurs dans le log.

Qu'est-ce que j'ai loupé ?

@+

Lien vers le commentaire
Partager sur d’autres sites

Suffit de suivre mon tuto pas à pas (j'ai volontairement bien détaillé) et çà marchera du premier coup (sous réserve d'avoir une box permettant de faire une redirection de port avec un port source différent du port cible).

J'en au profité pour supprimer la note "work in progress", plus vraiment appropriée

Lien vers le commentaire
Partager sur d’autres sites

A noter que NginX n'est pas utilisable pour tous. Pour ma part, j'utilise le reverse proxy parce que ma box ne fait pas la translation de port.

Il me faut donc, quoi qu'il arrive, bidouiller apache.

Autant ne toucher que lui quitte à le faire (d'ailleurs c'est plus simple car c'est des choses à ajouter et pas à modifier).

Bref, Nginx est une solution, je trouve ça dommage que maintenant tout le monde veuille abandonner le reverse proxy par apache en conséquence... (en disant dès que quelqu'un pose une question => fait le par Nginx)

PS : D'ailleurs CoolRaoul le précise bien : C'est une alternative, pourquoi vouloir rendre apache obsolète à chaque question du coup ?

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

Autant ne toucher que lui quitte à le faire (d'ailleurs c'est plus simple car c'est des choses à ajouter et pas à modifier).

Me semble que c'est le contraire: avec nginx il y a uniquement des choses à ajouter, on ne modifie rien (et c'est justement un des avantages de la solution que je met en avant)

Pour le reverse proxy apache faut modifier des fichiers dont certains qui sont écrasés lors des upgrades DSM.

Il me faut donc, quoi qu'il arrive, bidouiller apache.

Non, avec la methode nginx on ne bidouille pas apache, aucune modif de ce coté

A noter que NginX n'est pas utilisable pour tous. Pour ma part, j'utilise le reverse proxy parce que ma box ne fait pas la translation de port.

La seule objection avec laquelle je suis entièrement d'accord, sans translation de port pas de salut Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Me semble que c'est le contraire: avec nginx il n'y uniquement que des choses à ajouter, on ne modifie rien (et c'est justement un des avantages de la solution que je met en avant)

Pour le reverse proxy apache faut modifier des fichiers dont certains qui sont écrasés lors des upgrades DSM.

Je me suis p-e mal exprimé, ce que je voulais dire, c'est que dans le cas où la box ne fait pas la translation de box (je l'ai fait pendant presque 1 an, je sais de quoi je parle) il faut modifier tous les fichiers apache pour plus que les ports 80 et 443 soit utilisés du tout, ce qui implique se farcir toutes les lignes pour ne rien oublier. Alors que là, c'est juste un ajout d'une ligne, rien d'autre à triffouiller. (c'est une modification de fichier mais très simple sans aucune recherche)

Non, avec la methode nginx on ne bidouille pas apache, aucune modif de son coté

Justement, encore une fois dans le cas d'une box sans translation, ça implique la bidouille en plus de NginX et ça implique qu'à chaque maj qui modifie apache, il faut retriffouiler. Autant dire que l'intérêt est proche du nulle.

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

Ok, c'est plus clair maintenant: si on dispose d'une box capable de faire de la translation de port, la methode nginx est largement préférable pour plusieurs raisons.

Dans le cas contraire, y a pas photo on est d'accord

**EDIT***

Reste donc a savoir de quel type de box/routeur est équipé notre ami..

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