1 votes

nginx : Comment rediriger vers un autre domaine tout en utilisant l'authentification par mot de passe ?

J'essaie de rediriger domain.com vers domain2.com en utilisant Nginx. Et l'utilisateur ne doit être redirigé qu'avec un mot de passe correct.

J'ai réussi la redirection et l'authentification par mot de passe. Mais la combinaison des deux ne fonctionne pas.

Voici mon /etc/nginx/nginx.conf :

server {
            listen 80;
            server_name domain.com;

            location /thisOne {
                auth_basic "Restricted Content";
                auth_basic_user_file /etc/nginx/.htpasswd;
                return 301 http://domain2.com:8080/thisOne/;
            }
        }

Quelqu'un peut-il m'aider ? Qu'est-ce que je fais de mal ?

0voto

HarryOnline Points 11

Le problème est que le return est évaluée avant l'instruction auth déclarations. Vous pouvez déplacer le return dans un autre bloc pour forcer l'ordre d'évaluation que vous recherchez.

Par exemple :

location /thisOne {
    auth_basic "Restricted Content";
    auth_basic_user_file /etc/nginx/.htpasswd;
    try_files _nonexistent_ @thisOne;
}
location @thisOne {
    return 301 http://domain2.com:8080/thisOne/;
}

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