通过代理重定向localhost?

时间:2009-06-05 22:59:41

标签: iis proxy localhost

我有一个在localhost:1234上运行的HTTP代理。代理适用于我所做的所有Web请求。

我有一台运行在localhost:4567的服务器。我希望我的服务器的HTTP请求通过我的代理。应该简单吧?有没有办法让IE或任何其他浏览器这样做?

5 个答案:

答案 0 :(得分:7)

通常,您可以为此配置浏览器设置。在Firefox中它的选项 - >高级 - >网络 - >连接(设置)。

IE会在检测到localhost URL时自动忽略代理。这一直是Fiddler等工具方面的荆棘。

然而,你可以经常通过字面意思来解决这个问题 http://somesite.com:1234。有人花时间注册“somesite.com”域以自动路由到127.0.0.1。这让IE误认为它是一个外部域,但应该在重定向到本地服务器时运行代理。

祝你好运。

答案 1 :(得分:4)

是的,有办法!

在IE9中,如果您在“Internet选项”中手动配置了代理,则可以单击“高级”,然后只需将<-loopback>添加到代理绕过列表中。在IE6中,当手动配置代理时,localhost URL将通过代理。只有IE7 +版本不会向代理服务器发送localhost请求。

如果您想要更全面的解决方案,可以创建自动代理配置脚本。它基本上是一个包含函数FindProxyForURL的javascript文件。您可以使用该脚本的URL配置Internet选项。所有HTTP请求都将查询FindProxyForURL以获取所需的代理服务器。因此,如果您希望所有网址都通过代理,您可以执行以下操作:

function FindProxyForURL(url, host) {
    return "PROXY localhost:1234";
}

如果您只想要外部地址转到localhost代理,那么您可以执行以下操作:

function FindProxyForURL(url, host) {
    if (isPlainHostName(host)) { 
          return "DIRECT"; 
    }
    return "PROXY localhost:1234";
}

答案 2 :(得分:2)

在Windows上:

转到Windows / System32 / Drivers / Etc

在以管理员身份运行的记事本中

在您的主机文件中添加以下内容:

127.0.0.1 mysite.local

然后代理将接收http://mysite.local处该主机的所有数据。

Ubuntu的: 的/ etc /主机

的Mac: http://decoding.wordpress.com/2009/04/06/how-to-edit-the-hosts-file-in-mac-os-x-leopard/

答案 3 :(得分:0)

浏览器绕过某些地址的代理。浏览器网络设置的“无代理”小节中对此进行了说明。 (FireFox)

由于使用“ localhost”而不是ip,它解析为默认ip 127.0.0.1,并且“ localhost”和“ 127.0.0.1”都明确列为“无代理”。

但是“ localhost”是一个很大的子集。人们可以使用127.0.0.2:4567或127.0.1.1:4567,他们说您可以使用超过1600万个IP地址。 这将解决问题(至少对于FF)。

随附设置和地址示例 enter image description here

答案 4 :(得分:-1)

这取决于您的浏览器。在Firefox中,检查“无代理”是否为空。默认情况下,Firefox将URL的代理阻止到localhost和127.0.0.1。

mozilla.org

相关问题