我使用 apache mod_proxy 设置正向代理服务器,它使用 ProxyRemote 功能连接到其他 20 个代理服务器。
您可以为 ProxyRemote 只设置一个 URL,在我的情况下它是 proxy.mydomain.com:8085
我为这个子域设置了循环调度,使用了 20 个不同的代理 IP 地址。nslookup 和 ping 证明循环调度正常工作。
当我使用此设置时,ProxyRemote 仅使用来自距离其 IP 最近子网的机器。
例如,如果我的机器是 91.123.123.123
我的代理是
5.4.12.9
188.23.9.111
91.222.111.99
等等...
它始终使用 91.222.111.99,而从不使用其他地址。
我不知道为什么会发生这种情况,我确实需要一台使用其他 20 个代理的代理机器。
这个想法是创建一台每次都使用随机 IP 连接到目标 URL 的代理机器。
答案1
我刚刚遇到了这个问题。这是因为getaddrinfo
实现了具有公共前缀长度的优先排序,详见RFC3484/2.2。
您可以通过编辑来调整此行为/etc/gai.conf