推荐答案
// www.javascriptcn.com code example
http {
server {
listen 80;
server_name example.com;
location / {
allow 192.168.1.0/24;
allow 10.0.0.1;
deny all;
}
}
}本题详细解读
1. 模块简介
ngx_http_access_module 是 Nginx 的一个内置模块,用于基于客户端 IP 地址进行访问控制。通过该模块,可以允许或拒绝特定 IP 地址或 IP 段的访问。
2. 配置指令
allow: 允许指定的 IP 地址或 IP 段访问。deny: 拒绝指定的 IP 地址或 IP 段访问。
3. 配置示例
在 Nginx 配置文件中,可以通过 allow 和 deny 指令来配置基于 IP 的访问控制。以下是一个示例配置:
// www.javascriptcn.com code example
http {
server {
listen 80;
server_name example.com;
location / {
allow 192.168.1.0/24; # 允许 192.168.1.0/24 网段的 IP 访问
allow 10.0.0.1; # 允许单个 IP 10.0.0.1 访问
deny all; # 拒绝所有其他 IP 访问
}
}
}4. 配置解析
allow 192.168.1.0/24;:允许192.168.1.0到192.168.1.255之间的所有 IP 地址访问。allow 10.0.0.1;:允许 IP 地址为10.0.0.1的客户端访问。deny all;:拒绝所有其他未明确允许的 IP 地址访问。
5. 注意事项
allow和deny指令的顺序很重要。Nginx 会按照配置的顺序依次检查,一旦匹配到规则,就会立即执行相应的操作。- 如果没有任何
allow或deny指令,默认情况下所有 IP 都可以访问。 - 可以通过
deny指令来拒绝特定 IP 或 IP 段的访问,然后再使用allow指令来允许其他 IP 访问。