【发布时间】:2016-06-19 11:02:32
【问题描述】:
我已经部署了用 Java Servlet 编写的 API App。
我想知道的是,我的 API 应用程序的 IP 地址以及只允许来自一个或两个 IP 地址的请求的方式,这意味着我想限制除那些之外的每个 IP。
当我在一个区域部署多个 APP 时,似乎 IP 地址是共享的。
无论如何,请给我一些建议:)
【问题讨论】:
标签: azure azure-api-apps
我已经部署了用 Java Servlet 编写的 API App。
我想知道的是,我的 API 应用程序的 IP 地址以及只允许来自一个或两个 IP 地址的请求的方式,这意味着我想限制除那些之外的每个 IP。
当我在一个区域部署多个 APP 时,似乎 IP 地址是共享的。
无论如何,请给我一些建议:)
【问题讨论】:
标签: azure azure-api-apps
Azure Web 应用程序可以使用一系列 IP 地址 - 基本上,您的网站托管在由 Microsoft 管理的 vnet 上的 Web 场中。 Microsoft 确实发布了地址,但它们也可能会发生变化。在此处找到链接 discovering outgoing ip addresses from azure web sites,它说您现在可以直接从门户页面获取此信息。
对于另一个问题,如果您想保护您的服务或应用程序,使其只能从特定的上行地址或范围调用,您可以继续在 azure 中使用 Web 应用程序并在 web.config 中使用 IPFilters,或者使用应用服务环境(您自己的 vnet 上的私有 Web 服务器场)并设置网络安全组以控制流量;或托管在虚拟机中,如果需要,您可以在其中组合 ip 过滤器、nsgs 和 Windows 防火墙!
基于 Java 的应用程序的 IP 过滤 (Tomcat):请参阅 server fault answer
web.config 中的 IP 过滤(基于 .net 的应用程序):请参阅 this page
<security>
<!-- deny everybody -->
<ipSecurity allowUnlisted="false">
<!-- "clear" removes all upstream restrictions -->
<clear/>
<<!-- permit the loopback address -->
<add ipAddress="127.0.0.1" allowed="true"/>
<!--permit network 83.116.119.0 to 83.116.119.255-->
<add ipAddress="83.116.119.0" subnetMask="255.255.255.0" allowed="true"/>
</ipSecurity>
</security>
【讨论】: