![当某台机器出现异常时,如何强制它通过代理](https://linux22.com/image/553800/%E5%BD%93%E6%9F%90%E5%8F%B0%E6%9C%BA%E5%99%A8%E5%87%BA%E7%8E%B0%E5%BC%82%E5%B8%B8%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E5%BC%BA%E5%88%B6%E5%AE%83%E9%80%9A%E8%BF%87%E4%BB%A3%E7%90%86.png)
我处在一个私有域中,客户端计算机需要代理服务器才能访问互联网。所有计算机都有一个例外,即对我域中服务器的每个请求都不需要通过代理:不要使用代理:.mydomain.com、171.11.0.0/16 等等...
好吧,我现在有一台具有外部 IP 的机器,但我希望我的客户端使用 DNS 名称访问该机器:www.mydomain.com。
但是,由于他们需要代理才能访问互联网,但浏览器有一个例外,即在使用域时不通过代理,因此他们永远无法访问机器并且连接超时。
我的 DNS 服务器 (bind) 有具有外部 IP 的 www 机器。如果我直接使用 IP 地址,它会转到“正在建设中”页面,因为外部服务器配置了命名虚拟服务器,而我无法访问它。
我该如何解决这个问题?即使机器配置为不通过代理,我该如何强制它们通过代理?
如果我删除异常,则对内部服务器的所有其他请求都将不起作用......
干杯
布鲁诺
答案1
我对目前发生的事情以及你所说的“例外”是什么意思感到非常困惑
然而,解决这个问题的一个明显方法是使用代理自动配置脚本在浏览器上:
function FindProxyForURL(url, host)
{
if (dnsDomainIs(host, ".mydomain.com"))
return "DIRECT";
else
return "PROXY yourproxy.mydomain.com:3129";
}
(最好从内部网络服务器提供此服务或将其放在共享驱动器上,以便您可以轻松部署更新)。