在IIS中有多个传出IP?

时间:2013-09-20 11:19:38

标签: iis

如您所知,Windows Server 2008 R2上只有一个传出IP,但我在IIS虚拟目录上运行了10个网站,服务器上也有10个不同的IP,现在我想让每个网站都有不同的传出IP同一时间。可能吗?你知道通过HTTP get / post编程。

此外,我已阅读以下文章,但它是用于设置一个默认的传出IP。 http://support.microsoft.com/kb/2386184

通过编程怎么样?是否有任何解决方案可以通过特定IP发送请求?

非常感谢。

2 个答案:

答案 0 :(得分:0)

您可以为同一站点配置一个IP地址或多个IP地址。同样,您可以为一个IP地址配置一个网站,或为一个IP地址配置多个网站。唯一的限制是使用HTTPS时。

这篇Microsoft文章讨论了如何为(每个)网站配置IP地址。尽管它表示它适用于Server 2003,但配置在最近的2次修订中没有太大变化。 http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/e4b7db43-2e10-4939-b888-a7b439af7fef.mspx?mfr=true


在您提到的文章中,它讨论了使用NETSH命令(shell)设置一个传出路径(使用skipassource标志)。要将所有IP地址用于出站流量,只需执行相反的操作:

Netsh int ipv4 add address <Interface Name> <ip address> skipassource=false

答案 1 :(得分:0)

答案是:

httpWebRequest.ServicePoint.BindIPEndPointDelegate = new BindIPEndPoint(BindIPEndPointCallback); 


 public IPEndPoint BindIPEndPointCallback(ServicePoint servicePoint, IPEndPoint remoteEndPoint, int retryCount)
    {
        if (retryCount < 3)
            return new IPEndPoint(IPAddress.Parse(servicePointIP), 0);
        else
            return new IPEndPoint(IPAddress.Any, 0);
    }

 private string servicePointIP;
    public string ServicePointIP
    {
        get { return servicePointIP; }
        set { servicePointIP = value; }
    }