![nginx ip_hash 和 IP 块排除](https://linux22.com/image/705932/nginx%20ip_hash%20%E5%92%8C%20IP%20%E5%9D%97%E6%8E%92%E9%99%A4.png)
我在 nginx 中使用上游 ip_hash。我的配置设置如下:
upstream example_upstream {
ip_hash;
server example1.com:80 max_fails=0 weight=50;
server example2.com:80 max_fails=0 weight=50;
}
此配置运行正常。但是,我想排除一些 IP 块。我该怎么做?
谢谢。
答案1
您应该能够在 nginxgeo
模块的帮助下做到这一点:
在http
级别上,您可以定义地理封锁:
geo $my_upstream {
default example_upstream;
192.168.1.0/24 example1.com:80;
}
然后$my_upstream
变量将包含一个适合proxy_pass
语句的值,您可以像这样使用它:
proxy_pass http://$my_upstream;
此外,您还需要upstream
问题中的阻止。