http {
# 其他配置…
# 定义一个名为 whitelist 的共享内存区域
limit_zone whitelist $binary_remote_addr 10m;
server {
listen 80;
server_name example.com;
# 白名单配置
location / {
# 设置只允许特定 IP 访问
allow 192.168.1.100; # 允许的 IP
allow 192.168.1.101;
deny all; # 拒绝其他所有 IP
}
}
}
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/692b5cfe21b04186a91343dc005dfbc7.好的,让我用一个具体的例子来解释一下。
假设有一个IPv4地址:“198.51.100.5”。这个地址由四组数字组成,每组数字之间用点分隔开。每个数字范围从0到255,因此整个地址看起来像“198.51.100.5”。
当我们说“198.51.100.0/24”,这里的“/24”表示前24位是网络部分,剩下的8位是主机部分。IPv4地址是由32位组成的,所以“/24”意味着:
- 前24位(即198.51.100)是网络标识符。
- 后8位(即从0到255之间的任何值)是主机标识符。
因此,“198.51.100.0/24”实际上涵盖了以下这些IP地址:
- 198.51.100.0
- 198.51.100.1
- 198.51.100.2
- …
- 198.51.100.254
- 198.51.100.255
所有这些IP地址都属于同一个子网。在您的Nginx配置中,“allow 198.51.100.0/24;”意味着所有上述列举的IP地址都可以访问您的网站或者应用。
如果您的服务器上配置了这样的规则,并且一个客户端尝试通过IP地址“198.51.100.150”访问您的站点,那么访问将被允许。但是,如果一个客户端使用IP地址“198.51.101.5”进行访问,则由于该IP不在“198.51.100.0/24”范围内,根据后面的“deny all;”规则,默认会被拒绝访问。
希望这个具体的例子能够帮助您更好地理解“/24”的意义。