1 votes

Nginx HTTPS lorsqu'il ne correspond qu'au sous-dossier admin

J'ai réussi à faire rediriger toutes les requêtes /admin vers https par :

server {
    listen 80;

    location /admin {
        rewrite ^ https://$server_name$request_uri?$args permanent;
    }
}

Mais je n'arrive pas à trouver comment faire en sorte que toutes les requêtes https qui ne sont pas dans /admin soient redirigées vers http, ce que j'ai fait jusqu'à présent :

server {
    listen       443;

    location ~ /admin {
        rewrite ^ http://$server_name$request_uri?$args permanent;
    }
}

EDIT :

J'ai réussi à faire fonctionner les redirections comme il se doit, mais je n'arrive pas à empêcher l'url /admin d'atteindre 404. J'ai l'impression que je dois mettre quelque chose dans le bloc vide.

server {
    listen       443;

    location /admin {

    }   

    location / {
        rewrite ^ http://$server_name$request_uri?$args permanent;
    }
}

Merci

0voto

Michael Hampton Points 13142

Vous devez en quelque sorte servir quelque chose quand /admin est chargé. Décidez donc ce que vous voulez être servi.

Par exemple :

location /admin {
    try_files $uri $uri/ =404;
}

servira les fichiers statiques dans ce répertoire. Ajoutez ce dont vous avez besoin.

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