Nginxallow、deny:IP访问控制模块详细说明以及案例
Nginx allow
和 deny
指令
allow
和 deny
是 Nginx 中用于控制 IP 访问的指令。它们通常用于 http
、server
或 location
块中,用于允许或拒绝特定 IP 地址或 IP 段的访问。
语法
allow IP|CIDR|all;
deny IP|CIDR|all;
IP
:单个 IP 地址,如192.168.1.1
CIDR
:IP 段,如192.168.1.0/24
all
:表示所有 IP 地址
规则
allow
和deny
指令按顺序执行,匹配到第一个规则后停止。如果没有匹配到任何规则,默认是允许访问。
示例
允许特定 IP 访问,拒绝其他所有 IP
location /admin { allow 192.168.1.100; deny all; }
只有
192.168.1.100
可以访问/admin
,其他 IP 都会被拒绝。允许特定 IP 段访问,拒绝其他所有 IP
location /secure { allow 192.168.1.0/24; deny all; }
192.168.1.0/24
网段的所有 IP 都可以访问/secure
,其他 IP 都会被拒绝。允许多个 IP 访问,拒绝其他所有 IP
location /private { allow 192.168.1.100; allow 192.168.1.101; deny all; }
只有
192.168.1.100
和192.168.1.101
可以访问/private
,其他 IP 都会被拒绝。允许所有 IP 访问,拒绝特定 IP
location /public { deny 192.168.1.100; allow all; }
除了
192.168.1.100
,其他所有 IP 都可以访问/public
。允许特定 IP 访问,拒绝特定 IP 段
location /restricted { allow 192.168.1.100; deny 192.168.1.0/24; allow all; }
192.168.1.100
可以访问/restricted
,192.168.1.0/24
网段的其他 IP 会被拒绝,其他所有 IP 都可以访问。
注意事项
allow
和deny
指令的顺序很重要,Nginx 会按顺序匹配规则。如果使用
deny all;
,确保在它之前有allow
规则,否则所有访问都会被拒绝。可以在
http
、server
或location
块中使用这些指令,具体取决于你想要控制的访问范围。
本篇文章内容来源于:Nginxallow、deny:IP访问控制模块详细说明以及案例
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。