NGINX WordPress 管理员 - 允许不工作但拒绝一切

问题描述 投票:0回答:1

所以我在将 IP 范围列入白名单以允许访问位置下的 wp-admin 端点时遇到问题。

我在 nginx.conf 中有类似于下面的内容(列出的 IP 是一个示例)。当我在 /wp-admin 中拒绝所有内容时,我得到了预期的 403 。然而,当添加允许子网时,我遇到了 404。

我也尝试过允许单个IP,但我得到了同样的错误。

location / {
      proxy_pass http://wordpress;
      
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $remote_addr;
      proxy_set_header Host $host;
    }
location /wp-admin {
      allow 123.0.0.0/4;
      deny all; 
    }

配置中出了什么问题,导致允许功能无法正常工作?

谢谢

nginx nginx-config nginx-location whitelist
1个回答
0
投票

我相信您仍然需要将所有

proxy_*
设置从
location /
复制到
location /wp-admin
。我不认为
location /wp-admin
实际上继承了
location /
的任何内容,您必须使用 nested 配置块才能继承。换句话说,就像这样:

location / {
      proxy_pass http://wordpress;
      
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $remote_addr;
      proxy_set_header Host $host;

      location /wp-admin {
         allow 123.0.0.0/4;
         deny all; 
      }

  }

© www.soinside.com 2019 - 2024. All rights reserved.