如何允许特定 IP 访问 Nginx 中的页面?

如何允许特定 IP 访问 Nginx 中的页面?

我们有一个在 Ubuntu 服务器上运行 Nginx 的网站。该网站有一个管理页面,我们希望允许访问指定的 IP 地址。我在 Nginx 配置中使用了以下内容,但它没有阻止。你能帮我解决这个问题吗?谢谢。

网址:www.example.com

管理页面:https://www.example.com/en/admin/login.php

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }

        location /en/admin/ {
                allow 123.123.123.123;
                deny all;
        }

        # Disable directory listing
        autoindex off;

} 

答案1

尝试按顺序切换拒绝和允许。

location /en/admin/ {
deny all;              
allow 123.123.123.123;              
        }

然后执行 nginx -t 并重新启动或重新加载 nginx。同时将 location /en/admin 放在 location / 之前

相关内容