Nginx 反向代理,满足任何导致所有客户端被允许

Nginx 反向代理,满足任何导致所有客户端被允许

satisfy any我在server或块中遇到一个问题,location导致所有客户端都被允许访问,据我所知这不是预期的行为。

server {
  listen       80;
  server_name  raar.my.domain;

  satisfy any;
  allow 192.168.1.0/24;
  deny all;
  auth_basic "Private";
  auth_basic_user_file /etc/nginx/conf.d/avs.creds;

  location / {
    proxy_pass   http://192.168.1.13:8085;
  }
}

在此状态下,我可以从外部主机 curl,它会将请求传递给代理。如果我更改anyall,它实际上会开始调用访问机制。

这让我很困惑,因为在 中的任何其他地方都没有出现allownor关键字,所以我不知道还有哪些其他访问处理程序可以满足。deny/etc/nginxsatisfy any

调试日志未显示任何内容。

-V:

nginx -V
nginx version: nginx/1.2.7
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --add-module=/tmp/pubcookie_src/src/nginx

答案1

嗯,原来是酒吧饼干模块行为不当。

当正确答案是 NGX_DECLINED 时,它在访问阶段为其不负责的站点返回 NGX_OK(以及将其作为 int 而不是 ngx_int_t 返回)。

因为这个原因satisfy any得到了满足。

相关内容