Linux对代理PAC文件的支持


9

我的公司环境中设置了代理,该代理阻止了外部Internet访问并需要NTLM身份验证。内部地址不会被路由到代理,而必须直接访问。

我正在尝试在这种环境(通常通常是Windows)中安装Linux机器,并使用需要外部Internet访问的命令行工具。我发现NTLMaps非常适合对代理进行身份验证-但是现在的问题是,当我设置Linux的HTTP_PROXY环境变量时,许多程序都使用它来确定代理,而他们总是使用代理服务器。相反,我需要他们使用基于PAC文件的代理/直接连接。

非常非常手动的解决方案是在我要访问Intranet时清除HTTP_PROXY环境变量,并在我要访问Internet时填写它-但这很麻烦。

有人知道这样做的方法吗?(Linux全局.pac设置等)

Answers:


11

Windows上对代理自动配置的支持似乎“无缝”,因为它是由WinHTTP客户端实现的,该客户端存储在DLL中,所有使用公共API的应用程序都可以访问该DLL。许多应用程序使用WinHTTP并“免费”获得代理自动配置。

在Linux世界中,每个应用程序通常都会进行自己的套接字调用,并使用其自己的HTTP协议实现。那里有HTTP库,但是与Windows相比,应用程序更有可能自己处理HTTP,并且可能不需要处理代理自动配置文件的Java解释器。

您可能考虑在Linux机器上运行本地代理服务器,将其自身指定为系统范围的HTTP_PROXY,然后使用必要的规则配置该本地代理服务器以直接访问某些站点,而不是使用公司代理作为父服务器。

鱿鱼可以做您想做的事,但重量很重。我刚刚发现了这个有趣的tinyproxy项目,它看起来确实很有希望(允许按域选择使用上游代理,非常轻巧,等等),但是我从来没有亲自使用过它,对此一无所知。(从理论上讲,可以修改tinyproxy以实际解析代理自动配置文件。这确实是一个绝妙的窍门,尽管我没有时间去做。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.