我正在为办公室内托管的站点实施身份验证,我有一个PAM身份验证模块来对用户进行身份验证,到目前为止效果很好。
问题是,我只需要验证来自Internet(外部)的用户,在这种情况下,IP 192.168.12.1是将所有外部流量路由到内部Web服务器的网关设备。
我到目前为止相关的配置是这样的:
server {
listen 80;
server_name xxxxxxxxxx;
access_log /var/log/nginx/xxxxxxxx.log;
location / {
satisfy any;
allow 192.168.1.0/24; ##Office subnet
allow 192.168.11.0/24; ##Office subnet
##Inside this subnet is the IP that needs to have auth 192.160.12.1
allow 192.168.12.0/24; ## Office subnet
auth_pam "XXXXXXXXXX";
auth_pam_service_name "nginx";
proxy_pass http://xx.xx.xx.xx/; ## Redirects to desired web server
}
}
如果我用
满足所有人
这将需要每个用户(内部和外部)进行身份验证,这不是我所需要的
如果我这样拒绝192.168.12.1:
deny 192.168.12.1;
allow 192.168.1.0/24; ##Office subnet
allow 192.168.11.0/24; ##Office subnet
allow 192.168.12.0/24; ## Office subnet
我立即被禁止403
如果我这样拒绝192.168.12.1:
allow 192.168.1.0/24; ##Office subnet
allow 192.168.11.0/24; ##Office subnet
allow 192.168.12.0/24; ## Office subnet
deny 192.168.12.1;
它只是绕过身份验证
我需要一种方法来强制192.168.12.1进行身份验证,但又不能阻止整个子网192.168.12.0/24,因为那里还有其他无需身份验证即可登录的设备。