我的代理设置相当复杂,其中一个代理需要用户名/密码。有没有办法配置用户名/密码,以便用户在流量重定向到这个代理时不必输入它们?至少返回PROXY username:password@server:port
或PROXY http://username:password@server:port
不起作用。
答案1
我遇到了类似的问题,所以创建了一个工具:https://github.com/sjitech/proxy-login-automator
该工具可以创建本地代理并自动将用户/密码注入真实代理服务器。支持PAC脚本。
答案2
代理自动配置文件不支持硬编码的用户名和密码。这背后也有很好的理由,因为提供对硬编码凭据的支持将带来重大的安全漏洞,因为任何人都可以轻松查看访问代理所需的凭据。
最好将代理配置为透明代理,这样就不需要用户名和密码了。您在一条评论中提到代理服务器位于 LAN 之外,这就是您需要身份验证的原因。但是,大多数代理都支持基于源 IP 的规则,在这种情况下,只需允许来自公司网络的请求即可。
最初的代理自动配置规范最初由 Netscape 于 1996 年起草。原始规范不再直接可用,但您仍可以使用 Wayback Machine 的存档副本。规范没有太大变化,与原来基本相同。您会发现规范非常简单,并且没有提供硬编码凭证。
答案3
我认为这是不可能的 - 如您所知,proxy.pac 文件是一个 javascript 文件,语法相当有限,而且据我所知,它不包含任何身份验证方法。快速扫描我所知道的 .pac 文件的各种参考站点,也没有发现任何可能有用的迹象或暗示。
即使它确实有效,它也极其不安全,因为用户名和密码很容易从文件中获取,使得您希望通过使用代理身份验证获得的任何保护都变得毫无用处。