1 votes

Webmin ne fonctionne pas correctement derrière un proxy inverse

J'ai Webmin configuré pour écouter sur localhost:1000 et nginx configuré pour écouter sur mon.domain.tld:80 avec un proxy inverse pointant vers Webmin. Cette configuration fonctionne bien mais parfois j'obtiens des erreurs 404 et les en-têtes HTTP indiquent que c'est le miniserv de Webmin qui y met des redirections 302 :

HTTP/1.0 302 Moved Temporarily Date: Dim, 3 Jan 2010 11:38:46 GMT Serveur: MiniServ/0.01 Connection: close Location: http://my.domain.tld:10000/webmin/

Pouvez-vous me conseiller sur la manière de désactiver ce comportement ?

4voto

J'avais un problème très similaire. Cependant, mon problème était spécifiquement que après vous vous connectez à Webmin, il redirigerait vers l'adresse et le port non proxy.

Pour illustrer davantage, supposez que je voulais que webmin apparaisse à l'extérieur du proxy sur 'https://example.com/admin/webmin', mais qu'il fonctionne vraiment sur 'https://example.com:10000'. Aller à la première adresse afficherait la page de connexion, mais me redirigerait vers la deuxième adresse (302 Moved Permanently). Je pouvais alors taper ou coller la première adresse, et tout fonctionnait comme si j'étais connecté.

J'ai essayé de suivre les instructions sur le wiki de Webmin, votre suggestion ci-dessus, et diverses autres suggestions. Puis j'ai trouvé la solution. J'ai dû ajouter une autre ProxyReversePass à ma configuration Apache, pour attraper l'URL dans la redirection.

ProxyRequests Off
ProxyPreserveHost On
SSLProxyEngine On

ProxyPass /admin/webmin/ https://example.com:10000/
ProxyHTMLURLMap https://localhost:10000 /admin/webmin

 ProxyHTMLExtended On
 SetOutputFilter proxy-html
 ProxyPassReverse https://localhost:10000/
 ProxyPassReverse https://example.com:10000/

Évidemment, dans /etc/webmin/config, j'ai webprefix="/admin/webmin" et webprefixnoredir=1. Je voulais une protection SSL sur mon LAN local, donc je l'ai laissé activé en SSL et j'ai fait la chose avec le proxy SSL. J'espère que cela aidera comme une solution possible à quiconque rencontre ce problème.

J'étais tellement désespéré que j'essayais de modifier miniserv.pl et j'ai même pensé à utiliser mod_rewrite.

2voto

ivan98 Points 74

D'accord, j'ai trouvé la solution moi-même. Lorsque vous configurez Webmin pour se lier uniquement à localhost, vous devez utiliser la commande suivante dans miniserv.conf :

sockets=127.0.0.1:10000

Ceci remplace host=localhost et port=1000. J'espère que cela aidera quelqu'un d'autre également.

0voto

Jamie C. Points 41

Merci, l'option sockets presque m'a aidé, mais j'utilise SSL sur le front end (qui gère mieux les certificats) et j'arrive sur un port différent sur le front end, donc j'ai aussi dû ajouter :

proxy_redirect http://www.example.com:10000 https://www.example.com:10443;

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X