首页 文章

如何将Azure Web应用程序(应用程序服务/网站)连接到网络安全组?

提问于
浏览
2

我不确定我是否遗漏了一些简单的东西,或者我是否想要做不可能的事情 .

我使用Web移动应用程序服务模型在Azure上部署了Tomcat站点 . 这不是VM . 我希望能够将防火墙规则(网络安全组)应用于此App Service .

以下是我在资源组中所做的事情:

  • 采用我现有的App Service(Tomcat)并将其升级到S1机器大小 .

  • 使用默认设置创建了VNET . 这包括创建名为"default"的子网 . 所有地址空间建议都保留在Azure默认提示下 .

  • 使用App Service上的网络设置刀片选择刚刚创建的VNET .

  • 创建了一个网络安全组 - 添加了一个传入规则,以拒绝任何来源的HTTP端口80 .

  • 上面使用默认子网创建的关联NSG

  • 等待传播的一切

  • 经过测试,点击了HTTP端口80上的App Service,并返回了结果 .

这不是我希望看到的 . 要调试这个,我测试过:

  • 创建Tomcat虚拟机

  • 在VM网络刀片上,将VM与"default"子网相关联,并专门从VM中删除了网络安全组(将其保留在子网上 - 只是确保它未明确连接到VM)

  • 经过测试的对虚拟机的HTTP访问 - 被拒绝的流量

  • 对App Service的测试HTTP访问 - 仍允许流量

  • 将网络安全组规则更改为允许

  • 测试了对VM的HTTP访问和允许的流量

如何使App Service以虚拟机的方式使用网络安全组?我是否遗漏了如何在App Service上配置子网?还有另一种方法可以将NSG与App Service相关联吗?

我没有预算/需要 Build ASE . 我需要做的就是在我的App Service前放置一个防火墙来阻止我不想看到的端口 .

谢谢 .

1 回答

  • 2

    你正试图做不可能的事 . 请记住,App Service中的Web应用程序必须通过VPN连接到VNET,因此您无法控制的多租户应用服务中的互联网和 80/TCP443/TCP 之间没有任何内容 .

    Client ---> 80/TCP Frontend layer ---> 80/TCP Web App ---> Point-to-site VPN ---> VNET ---> NSG_associated_with_subnet

    所以,不要去 .

    看看<ipSecurity>是否适用于您的用例(我的其他答案提供了一个快速示例 - https://stackoverflow.com/a/38808091/4148708) . 否则,您需要App Service Environment(ASE)或Internal Load Balancer App Service Environment(ILB ASE) .

    它们都直接位于VNET的子网中,因此您可以使用NSG控制流量 .

相关问题