客户端 JavaScript 可以使用自己的 HTTP 代理吗?
Posted
技术标签:
【中文标题】客户端 JavaScript 可以使用自己的 HTTP 代理吗?【英文标题】:Can client JavaScript use its own HTTP proxy? 【发布时间】:2011-10-22 17:44:17 【问题描述】:我的服务器 server.example.com 无法从 Internet 访问。 但是,有一个可访问的 HTTP 代理 proxy.example.com 可以与服务器通信。
如果用户将他们的浏览器配置为通过 proxy.example.com 访问 *.example.com,或者使用我提供的代理自动配置文件,他们可以访问服务器(在使用代理进行身份验证后)。我想避免让他们经历这个手动过程。
是否可以以编程方式执行此操作? javascript 将从可通过 Internet 访问的 www.example.com 站点提供,因此原则上似乎不存在使这不可能实现的安全问题。
我的限制是 proxy.example.com 是一个 HTTP 代理,我无法触摸它。我只控制 server.example.com 和 www.example.com,我的 web 应用只能在 server.example.com 上运行。
【问题讨论】:
【参考方案1】:不,但是...
按照您的要求,这是不可能的。但是,同样可以通过使用打开 URL 链接代理 地址的 iframe 来完成。在您的示例中,您必须调用以下地址(如果您的代理允许 URL 链接)
http://proxy.example.com/http://server.example.com
希望对你有帮助。
干杯, 迈克尔
【讨论】:
【参考方案2】:不,您不能通过 Javascript 设置代理。
似乎没有安全问题
任意 Javascript 更改浏览器设置是一个安全问题。
【讨论】:
问题是这是否可以通过某种方式为这个特定站点完成,不一定通过设置全局浏览器设置。 @Adam http 代理是所有主要浏览器中的全局浏览器设置。 willsteel 为您提供了一种解决方法,但这不是标准的代理行为。以上是关于客户端 JavaScript 可以使用自己的 HTTP 代理吗?的主要内容,如果未能解决你的问题,请参考以下文章