在网络服务器日志(使用 az cli(中,我可以看到使用用户代理 AlwaysOn 和 IP 地址 10.0.128.25 获取请求
是否可以可靠地使用此 IP 地址来设置允许 IP 限制?
这个 IP 地址没有记录在 https://learn.microsoft.com/en-us/azure/app-service/app-service-ip-addresses 中,这似乎涵盖了发现公共 IP 地址,所以我对使用它持谨慎态度?
在日志中,我还看到IPv6 ::1表示本地主机,所以我猜10.0.128.25也是本地主机?
2018-08-30 10:48:19 EXAMPLESITE GET / X-ARR-LOG-ID=ExampleLogId 80 - ::1 AlwaysOn ARRAffinity=ExampleArrAffinityId - EXAMPLESITE.azurewebsites.net 200 0 0 2942 695 108
2018-08-30 10:48:54 ~1EXAMPLESITE GET / - 80 - 10.0.128.25 AlwaysOn - - examplesite.azurewebsites.net 200 0 64 0 457 46463
我尝试使用应用服务控制台和 Kudu powershell 控制台查看它是否是实例的 IP 地址,但我无法发现更多,因为 ipconfig 和 Get-NetIPAddress 似乎在沙箱中工作。
我猜 127.0.0.1 不起作用,即使它是同一台机器,因为 IIS 将其解释为另一个 IP?
到目前为止,在我尝试过的两个应用服务计划中,它是相同的 IP。
每个应用服务 Web 应用有两个站点,1 个是普通 Web 应用,第二个是 SCM 站点(Kudu 运行的位置(。每个站点都有一个ping,这就是为什么你会看到两个(~1名称是SCM(站点。
所有 Azure Web 应用(以及移动应用/服务、Web 作业和函数(都在称为沙盒的安全环境中运行。每个应用程序都在自己的沙箱内运行,将其执行与同一台计算机上的其他实例隔离开来,并提供额外的安全性和隐私性,否则将无法使用。
是的,尝试连接到本地地址(例如 localhost,127.0.0.1(和计算机自己的 IP 将失败,除非同一沙箱中的另一个进程在目标端口上创建了侦听套接字。 拒绝的连接尝试(如以下示例尝试从 .NET 连接到 127.0.0.1:80(将导致以下异常: 异常详细信息:System.Net.Sockets.Socket异常:尝试以访问权限 127.0.0.1:80 禁止的方式访问套接字 应用程序无法连接到专用 IP 地址。 实例可以四处移动,您可以查看此讨论线程,其中讨论了处理内部IP地址:https://social.msdn.microsoft.com/Forums/sqlserver/en-US/182f3673-18fc-4ade-90bf-22111f566f85/need-internal-ip-address-of-nodes-withing-a-web-app?forum=windowsazurewebsitespreview