2 votes

Comment configurer un reverse proxy avec auth_request sans interrompre les appels d'API ?

J'ai un service qui peut faire une autorisation sur /auth-admin. Je confirme que cela fonctionne avec des pages web statiques. Cependant, si les pages contiennent des appels d'API comme la connexion à phpmyadmin, auth_request le cassera. Quel est le bon moyen de définir auth_request?

serveur {
    écoute 443 ssl;
    nom_serveur example.com;

    emplacement / {
        proxy_pass http://192.168.1.13:8085;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    emplacement /auth-admin {
        interne;
        proxy_pass http://192.168.1.13:8085/auth.php?admin;
    }

    emplacement /phpmyadmin/ {
        auth_request /auth-admin;
        proxy_pass http://192.168.1.13:8086/;
        add_header X-Frame-Options "SAMEORIGIN";
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

0voto

Joshua Points 111

Après avoir beaucoup fouillé, vous avez besoin de ce qui suit pour fonctionner avec une requête POST.

location /auth-admin {
    internal;
    proxy_pass http://192.168.1.13:8085/auth.php?admin;
    proxy_pass_request_body off;
    proxy_set_header Content-Length "";
    proxy_set_header X-Original-URI $request_uri;
}

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