有没有办法确定网站的传出IP地址(不是webrole)?
我已经反向查找* .azurewebsites.net,它返回一个地址,但是当我手动检查它时(通过让webapplication访问我控制的网络服务器),它会显示一个完全不同的IP。
这样做的正确方法是什么?
答案 0 :(得分:30)
Azure网站可以使用每个比例单位4个IP地址中的随机IP。
有关每个比例单位的IP地址列表以及有关如何确定网站比例单位的说明,请查看here。
更新:似乎所有比例单位的4个IP地址现在都可以在新的Azure门户中找到,论坛帖子将不再更新。
从2015年7月20日起,此帖子将不再更新 IP地址。相反,现在可以在网络中找到此信息 使用新门户网站(portal.azure.com)的应用程序属性。
查找出站IP地址:
使用 portal.azure.com 上的新门户浏览到您的特定网络应用的详细信息。
在您的网络应用程序的详细信息的顶部,有一个“所有设置”的链接。点击链接。
单击“所有设置”将打开一个可以进一步深入查看的Web应用程序信息列表。要深入研究的具体信息是“属性”。单击“属性”选项。
- 醇>
在“Properties”UX中,有一个显示出站IP地址集的文本框。使用“出站IP地址”文本框旁边的图标,您可以选择所有地址。然后按Ctrl + C将地址复制到剪贴板。
答案 1 :(得分:6)
你可以获得" OUTBOUND IP ADDRESSES"通过PowerShell的属性。这是命令:
(Get-AzureRmResource -ResourceGroupName inhabit-adminservices -ResourceType Microsoft.Web/sites -ResourceName YOUR_RESOURCE_NAME).Properties.OutboundIpAddresses -Split ","
YOUR_RESOURCE_NAME是资源组的名称。
答案 2 :(得分:1)
Azure网站似乎会随机使用任何数据中心的IP地址进行出站流量。您可以在此处下载IP地址列表:http://msdn.microsoft.com/en-us/library/dn175718.aspx
或者使用Azure云服务和Azure VPN的组合。 VPN将确保您获得所有出站流量的静态IP地址。很遗憾他们没有为他们的网站服务预见到这一点。
答案 3 :(得分:0)
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (Request["check"] == "1")
{
Response.Clear();
Response.Write(HttpContext.Current.Request.UserHostAddress);
}
else {
Response.Write("Your IP: " + HttpContext.Current.Request.UserHostAddress + "<br />") ;
Response.Write("Server Outbound IP: " + GetOutBoundAddress()) ;
}
}
public string GetOutBoundAddress()
{
System.Net.WebClient wc = new System.Net.WebClient();
try
{
return wc.DownloadString(Request.Url + "?check=1");
}
catch (Exception)
{
return "not found";
}
}