在Nginx中,如果你想要屏蔽某些IP地址,可以使用ngx_http_access_module模块来实现。这个模块允许你基于IP地址或者IP地址范围来允许或拒绝访问。
以下是一些基本的步骤和示例配置,用于屏蔽特定的IP地址:
打开Nginx配置文件。通常这个文件位于/etc/nginx/nginx.conf或者/etc/nginx/sites-available/your-site-config。
在server块中,你可以使用deny和allow指令来控制IP地址的访问权限。
例如,如果你想要拒绝所有来自IP地址123.456.789.0的访问,你可以添加如下配置:
server {
# ... 其他配置 ...
location / {
deny 123.456.789.0;
allow all;
# ... 其他配置 ...
}
}
如果你想要拒绝一个IP地址范围,比如123.456.789.0到123.456.789.255,你可以使用CIDR表示法:
server {
# ... 其他配置 ...
location / {
deny 123.456.789.0/24;
allow all;
# ... 其他配置 ...
}
}
deny指令:server {
# ... 其他配置 ...
location / {
deny 123.456.789.0/24;
deny 192.168.1.0/24;
allow all;
# ... 其他配置 ...
}
}
修改配置文件后,保存并退出编辑器。
重新加载Nginx配置以使更改生效:
sudo nginx -s reload
或者
sudo systemctl reload nginx
请注意,如果你的Nginx配置文件中已经有了access_log指令来记录访问日志,那么被拒绝的IP地址也会出现在日志中。如果你想要完全阻止这些IP地址的访问日志记录,你可以在location块中使用access_log off;指令。
例如:
server {
# ... 其他配置 ...
location / {
deny 123.456.789.0/24;
access_log off;
# ... 其他配置 ...
}
}
这样,来自123.456.789.0/24的访问将不会被记录到访问日志中。