如您所知,Windows Server 2008 R2上只有一个传出IP,但我在IIS虚拟目录上运行了10个网站,服务器上也有10个不同的IP,现在我想让每个网站都有不同的传出IP同一时间。可能吗?你知道通过HTTP get / post编程。
此外,我已阅读以下文章,但它是用于设置一个默认的传出IP。 http://support.microsoft.com/kb/2386184
通过编程怎么样?是否有任何解决方案可以通过特定IP发送请求?
非常感谢。
答案 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; }
}