我在一家使用代理连接到互联网的公司工作。我的一些应用程序,尤其是任何类型的包管理器都无法连接到代理并生成407(需要代理身份验证)。
首次尝试时,我尝试为每个应用程序手动设置代理设置。 例如:
python -m pip install six --proxy http://user:pass@proxy:port
这没有帮助。
在第二次尝试中,我将cntlm设置为本地代理来处理身份验证。这也没有帮助。
最后我发现,我们正在使用Kerberos进行授权。我知道cntlm有一个关于kerberos身份验证的补丁。但不幸的是,这个补丁不适用于Windows。 (或者我没有找到它)
一位同事告诉我的另一个解决方法是Windows 10 linux-subsystem,它允许在补丁中安装unix版本的cntlm。这有点启用代理授权。 但这对我没有帮助,因为我的机器运行的是Windows 7。
我的问题是: 是否有任何替代cntlm能够处理Kerberos授权过程? (或者我错过了一些可以用cntlm解决我的问题的东西吗?)
答案 0 :(得分:0)
我发现了https://github.com/genotrance/px
易于安装:
px --proxy=proxy.server.com --save
px --install
关于它的部分是,它不需要任何凭证。它使用通过Windows API登录的用户的凭据。
答案 1 :(得分:0)
您可以使用Winfoom。它适用于NTLM和Kerberos代理,但仅适用于Windows。
答案 2 :(得分:-2)
通常,您将配置代理以禁用这些服务的身份验证(请求已知域的客户端IP的白名单)。或者您可以在自己的网络中设置本地副本,然后所有客户端都请求您自己的公司服务器。然后,您手动更新副本,或者让它通过代理而无需身份验证。但在所有情况下,让事情自动更新并不总是一个好主意(如果过程出错,你可能会遇到严重问题)