1 votes

Nginx - comment rediriger en fonction d'une plage d'adresses IP?

Je suis en train de tenter de créer un site accessible uniquement depuis le réseau local et les personnes de l'extérieur recevront une page statique affichant un autre message.

C'est ce que j'essaie de faire mais cela ne semble pas fonctionner. Où est-ce que j'ai fait une erreur ?

         if ($remote_addr != 192.168.1.0/24) {
                   rewrite ^/* /covid19 last;
         }

0voto

HugoFS Points 313

Le $remote_addr est une seule adresse IP (par exemple 192.168.1.123) donc il ne sera pas directement comparable avec la chaîne 192.168.1.0/24.

Si vous comparez une adresse IP à un bloc /24, vous pouvez utiliser une expression régulière qui ne vérifie que les trois premiers chiffres.

Par exemple:

if ($remote_addr !~ "^192\.168\.1\.") { ... }

Consultez ce document pour plus de détails, et cette mise en garde sur l'utilisation de if.

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