le proxy pass tu ne lui a pas rajouté /admin dedans ?
refais voir ta config stp
le proxy pass tu ne lui a pas rajouté /admin dedans ?
refais voir ta config stp
location /admin {
auth_basic "Authentification requise";
auth_basic_user_file conf.d/duniterpwd;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header X-NgninX-Proxy true;
proxy_pass http://localhost:9220;
proxy_redirect off;
}
merci @elois et @lciviero , je fouillerai dans la doc nginx pour voir ce qui cloche.
pour l’instant je dois filer …
Ca marche, tu me diras ce qu’était le problème, ca doit pas être grand chose.
Bonne journée à toi !
Est-il possible d’utiliser un path specifique pour l’interface d’admin ? J’avais tenté le coup quand j’ai mis mon noeud en place il y a quelques semaines, mais sans succès. Du coup j’utilise un sous domaine dédié faute de mieux.
Oui en passant par un proxy (ne me demande pas la conf nginx lol). Même principe que ce que tu as fais avec le sous domaine.
Perso, je fais comme toi, tous mes services sont accessibles via des sous domaines et c’est mon Synology qui redirige tout ça.
Si quelqu’un a un exemple de conf nginx ça m’intéresse. Parce que juste en définissant un truc de ce genre ça ne marchait pas du tout :
location /admin {
proxy_pass http://mon_backend_sur_port_9220;
}
Pourtant c’est ce qu’on retrouve dans la doc.
https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/
location /some/path/ {
proxy_pass http://www.example.com/link/;
}
Peut être une autre directive qui pose soucis.
Je m’en installe un la je vais tester. Je te dis
Ce que je me dis c’est que la conf nginx ne fait pas tout. Il peut être nécessaire que le serveur ait connaissance de ce chemin pour l’inclure dans ses liens.
C’est bien ça. En examinant les requêtes réseau via Firebug, j’ai pu identifier les autres chemins. Cette conf semble fonctionner :
location /admin/ {
proxy_pass http://backend_9220/;
}
location /images/ {
proxy_pass http://backend_9220/images/;
}
location /font/ {
proxy_pass http://backend_9220/font/;
}
location /fonts/ {
proxy_pass http://backend_9220/fonts/;
}
location /webmin/ {
proxy_pass http://backend_9220/webmin/;
}
il faut rajouter dans /etc/nginx/proxy_params
proxy_redirect off;
et après dans la configuration du site :
location /test/ {
proxy_pass https://www.google.com/;
}
Sinon ca fait un redirect et pas un proxy. Je viens de tester ca fonctionne. Ca m’affiche bien google, par contre probablement des bidouilles à faire car j’ai pas les images
D’où mon problème héhé. Bien vu.
Du coup une redir via un sous domaine c’est quand même moins galère
Oui, et ça permet de gérer l’authentification plus proprement.
Avec une regex et une directive rewrite
pour gérer le chemin /admin/
on peut tout exprimer en un seul bloc location
:
location ~ ^/(admin|fonts?|images|webmin)/ {
rewrite ^/admin/(.*)$ /$1 break;
proxy_pass http://backend_9220;
}
Merci @Pini, tu maitrises nginx bien mieux que moi. Ça te dirait de faire une MR pour ajouter une section « admin API » à la doc de configuration ?
Pourquoi pas. Mais je pense qu’il faudrait plutôt une page dédiée à la configuration derrière un reverse proxy.
Oui c’est une bonne idée, si vous voulez la créer et la complétée avec @lciviero et qui veut, je reviewrai et mergerai
Ça pourrait être un fichier nommé reverse-proxy.md
dans le dossier doc/use
. (À référencer alors dans doc/use/index.md
)
Pas trop d’idée honnêtement. j’ai créé un nouveau sujet dédié pour ne pas polluer ce thread plus loin
Joli !!!
ça marche comme sur des roulettes, j’y ai ajouté l’authentification et ça roule