了解代理服务器(操作系统、浏览器、JVM、本地代理)

了解代理服务器(操作系统、浏览器、JVM、本地代理)

在我日常工作中,我一直在防火墙后面工作,我已经记不清有多少次不得不配置、重新配置,甚至只是简单地试验代理服务器配置,才能那个应用程序才能正常工作。

我猜想许多其他开发人员/技术专业人员也会做同样的事情。想象一下你在一家公司工作,那里部署了 [喘息] Microsoft ISA 服务器和 Active Directory,无缝与其集成。当然,您使用的是 Windows。因此,您可能有一些应用程序不允许将 NTLM 凭据发送到服务器,或者您不想将自己的凭据存储在某个代码中。因此,您还安装了自己的代理,该代理使用 ISA 作为上链代理 -中央管理办公室

以下是一些例子:

  • IE浏览器- 您的 IT 支持人员通过组策略强制将 ISA 代理服务器和例外(您无法更新)纳入 IE 的设置中。此方法运行正常,但有时却无法运行。

  • 火狐- 好吧,那么谁还在使用 Internet Explorer?Firefox - 我使用过 FoxyProxy,有时它能用。根据您访问的网站,反复试验以选择代理(ISA、Direct、CNTLM)

  • 其它浏览器- 如果您不喜欢 Firefox,也许您可​​以使用 Chrome、Opera 等。

  • 任何 Java— 您输入了多少次-Dhttp.proxyHost-Dhttp.proxyPort?”

  • IDE- 还有人见过 Eclipse 更新有效或访问 Internet 的代码有效,但不能同时有效吗?

  • 其他- VPN 客户端、后台更新进程、SSH、Xmarks(和其他浏览器插件)等......

所以我的问题是:您能理解这一切吗?您想到了什么解决方案来克服代理服务器难题?您是否像我尝试过的那样以菊花链方式连接多个代理?我已经使用各种组合配置了应用程序,包括 CNTLM、Direct、ISA、Windows 系统级代理设置程序:proxycfg、Microsoft 防火墙客户端等……您做了什么来克服这个问题?

答案1

我想说问题出在“所有窗口”以及特别是 ISA...让我们来看第一个例子:

Internet Explorer - 您的 IT 支持人员通过组策略将 ISA 代理服务器和例外(您无法更新)强制纳入 IE 的设置中。这可以完美运行,除非出现问题。

确实……“当它不存在时,这并不那么罕见”……

我认为主要的问题是过于依赖 MS 的公司不敢摆脱它,或者他们没有人具备做到这一点的技能……

在我看来,最好的代理/缓存软件是 SQUID!此外,如果可能的话,代理可以是透明的,这样你就不需要在 IE 或其他应用程序中进行设置了。

现在 squid 能解决所有问题吗?当然不只是这样... 一个问题还是 NTLM 身份验证... 但 squid acl 可以解决这个问题... 例如,您可以设置 squid 以允许未经身份验证的用户访问 Windows 更新,甚至缓存它(不需要 WSUS :) )您的防病毒和 Java 应用程序也一样...

当然,配置必须与场景相匹配,但 squid 确实非常灵活和可靠。

但最重要的部分也许是“透明代理设置”。

我的建议是设置一个有防火墙/默认网关的 linux/unix 机器(你可以在这里安装 OpenVPN 服务器来处理 VPN 连接)。Squid 可以放在同一个机器中,也可以放在另一个机器中,但不同的机器总是更好的。

当然,这需要一些 iptables 方面的知识(或者您可以使用类似 shorewall 的东西)或数据包过滤器,或者您仍然可以在另一个盒子里安装一个装有 OpenVPN 和 squid 的 ISA 盒,但为什么要支付额外的许可证费用呢?最重要的是,为什么要为防火墙、vpn 或代理/缓存运行 GUI 服务器???但无论如何,这都是可能的。

注意:我并不是说 Windows 完全糟糕,而 Linux/Unix 更好,我确实认为 Linux/Unix 更适合服务器,但仍然很难找到愿意在桌面上不使用 Windows 的公司,主要是因为 Office。我的观点是,在“服务器”世界中,除了 Microsoft 之外,还有其他解决方案,成本可能低得多,甚至免费(当然,除了设置时间)

相关内容