我正在构建一个 squid 反向代理,以在具有不同文件的 2 个服务器之间实现平衡。服务器 1 包含 500 个文件夹,范围从 000 - 499。服务器 2 有 500 个文件夹,范围从 500 - 999。
我正在努力用正则表达式来表示从文件夹 500 到 999。
我的配置文件如下,适用于 squid 3.1,目前可以毫无问题地访问文件夹 000 到 499,第二个框中只能访问文件夹 500、501 和 502。我想对 500 - 999 使用正则表达式
http_port 80 accel defaultsite=image.test.co.za
acl foo urlpath_regex ^"/500 /501 /502
cache_peer 172.16.0.8 parent 80 0 no-query originserver name=server1
cache_peer_access server1 deny foo
cache_peer 172.16.0.9 parent 80 0 no-query originserver name=server2
cache_peer_access server2 allow foo
cache_peer_access server2 deny all
由 LAIN 解决
供将来参考的正确配置文件是:
http_port 80 accel defaultsite=image.test.co.za
acl foo urlpath_regex [5-9][0-9][0-9]
cache_peer 172.16.0.8 parent 80 0 no-query originserver name=server1
cache_peer_access server1 deny foo
cache_peer 172.16.0.9 parent 80 0 no-query originserver name=server2
cache_peer_access server2 allow foo
cache_peer_access server2 deny all
答案1
我没有合适配置的 squid 来检查匹配 500-999 的正则表达式
[5-9][0-9][0-9]
请注意,这还将匹配以 >= 500 的数字开头的任何字符串,因此它们也会传递给 server2。