@Pafzedog j’ai l’impression que ton location /
rentre en confit avec ton location /ws2p
et que do coup nginx fait des truc bizarres.
Je te recommande de migrer ton location /
en location /admin
tu aura moins de problèmes
@Pafzedog j’ai l’impression que ton location /
rentre en confit avec ton location /ws2p
et que do coup nginx fait des truc bizarres.
Je te recommande de migrer ton location /
en location /admin
tu aura moins de problèmes
Ok donc c’est ca, ton premier proxypass intercepte toutes les requêtes
j’ai un mot de passe mais je l’avais désactivé temporairement pour voir si ce n’était pas ça qui posait problème
Dans les premières versions de Duniter on pouvait récupérer la clé privée du nœud depuis l’api d’administration, heureusement que cgeek a patché ça depuis, sinon j’aurais ta clé privée
Bon ça va que c’est moi, j’aurais juste révoqué ton compte membre
en passant en location /admin
j’ai un beau Cannot GET /admin
il doit me manquer un truc, il cherche le path /admin
sur le localhost
2021/05/01 13:35:21 [error] 54635#54635: *12 connect() failed (111: Connection refused) while connecting to upstream, client: 83.113.64.131, server: g1.help-web-low.fr, request: "GET /admin HTTP/2.0", upstream: "http://[::1]:9220/admin", host: "g1.help-web-low.fr"
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 ?