我在 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
问题中的阻止。