0

如您所知,Windows Server 2008 R2 上只有一个传出 IP,但我有 10 个网站在 IIS 虚拟目录上运行,服务器上也有 10 个不同的 IP,现在我想做每个网站同时有不同的传出 IP . 可能吗?你知道通过 HTTP 以编程方式获取/发布。

我也读过下面的文章,但它是为了设置一个默认的传出 IP。 http://support.microsoft.com/kb/2386184

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

非常感谢。

4

2 回答 2

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
于 2013-09-20T12:13:44.703 回答
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; }
    }
于 2017-05-17T04:33:30.350 回答