Boucle de redirection 301 nginx

J’utilise Nginx en reverse proxy pour redirigé les requète web vers mes différent conteneurs LXC, dont une d’entre elle contient Yunohost. Ma configuration semble en faite similaire à celle décrite ici.

Mon reverse proxy marche bien avec mes autres services. Cependant pour Yunohost, quelquechose d’étrange que je ne saurais expliqué se produit. Une boucle de redirection 301 vers admin/

En local, en utilisant lynx sur la vm, tout fonctionne.

Mon VirtualHost nginx est le suivant:

upstream agora.exemple.com {
    server      10.0.2.106;
}

server {
    listen 80;
    server_name     agora.exemple.com;
    location / {
        return 301 https://agora.exemple.com$request_uri;
#       proxy_pass      https://agora.exemple.com;
    }
}

server {
        listen 443 ssl;
        listen [::]:443 ssl;

        server_name     agora.exemple.com;

        ssl_certificate /etc/letsencrypt/live/agora.exemple.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/agora.exemple.com/privkey.pem;


        ssl_session_timeout 5m;
        ssl_session_cache shared:SSL:50m;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-$
        ssl_prefer_server_ciphers on;

        add_header Strict-Transport-Security max-age=15768000;

        ssl_stapling on;
        ssl_stapling_verify on;

        ssl_trusted_certificate /etc/letsencrypt/live/agora.exemple.com/chain.pem;
        resolver 8.8.8.8 8.8.4.4 valid=86400;
        resolver_timeout 10;

        client_max_body_size 10M;

        location / {
               proxy_pass      http://agora.exemple.com;
        }
}

Je précise bien sur qu’il s’agit d’une installation toute fraiche de yunohost, et que je l’ai réinstallé plusieurs fois dans plusieurs conteneurs et dans des KVM pour faire des essais… toutjours le même problème.

Merci d’avance pour vos réponses sur le sujet.

Hm beeen, c’est un peu délicat parce que du coup ça sort un peu du scope de YunoHost vu que tu as réécrit toute la conf nginx j’ai l’impression :confused: (du coup il faudrait surement débugger ça avec des gens qui connaissent vraiment nginx)

Ce que je trouve bizarre c’est que tu parles d’une redirection vers admin/ alors que ta conf semble ne faire aucune mention de admin ? (c’est le /yunohost/admin ? ou c’est autre chose ?).

Tu es sur de ton coup avec le proxy_pass tout en bas là ? Parce que de que j’en comprends, ton http redirige vers le https, qui redirige vers le http, qui redirige vers le https, et ainsi de suite… Si tu veux faire référence au upstream agora.exemple.com que tu as mis au début, alors il faudrait peut-être changer le nom de ce upstream, je dirais. Parce là il y a un conflit entre le “upstream” et les “servers” qui sont tous les deux pour agora.exemple.com… Pas sur que ce soit clair :stuck_out_tongue:

Je comprend que se ne soit pas très claire au début ^^
En faite il ne s’agit pas là de la config nginx de yunohost, mais du nginx de mon reverse proxy en VM 100 (yunohost est en VM 106).
Cette configuration fonctionne pour mes autres service dans mes autre VM. En faite ce Nginx est le premier a recevoir la requete agora.exemple.com, qui le redirige vers la VM 106. Là c’est réceptionné par le nginx de yunohost, qui lui fait sont bazard, je n’ai rien touché de ce côté là.

Le http est redirigé vers le https qui est envoyé à la VM 106 grace au upstream.Pour la boucle je parle bien de /yunohost/admin

Pour une requet vers agora.exemple.com: