【Azure 应用服务】探索在Azure上设置禁止任何人访问App Service的默认域名(Default URL)

问题描述

总所周知,Azure App Service服务会默认提供一个 ***.chinacloudsites.cn为后缀的域名,但是该域名由上海蓝云网络科技有限公司备案,仅用于向其客户提供 Azure 服务。

而如果不进行ICP备案,任何通过公网流量访问默认域名都会被封堵。因为Azure后台会根据对默认域名的请求次数和频率自动扫描,如果被扫中,就会被封堵。所以为了避免这样的情况,所以需要禁止任何人使用默认域名访问!

问题分析

方式一:使用IIS的rewrite规则,发现访问的时默认域名,返回403

修改App Service wwwroot根目录中的web.config文件(如没有,可以直接复制下文内容,新建web.config文件)

  <system.webServer>
              <rewrite>
                  <rules>
                    <rule name="Disable Azure Domain" patternSyntax="Wildcard" stopProcessing="true">
                      <match url="*" />
                      <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{HTTP_HOST}" pattern="*.chinacloudsites.cn" />
                      </conditions>
                      <action type="CustomResponse" statusCode="403" />
                    </rule>
                  </rules>
                </rewrite>
  </system.webServer>

修改后效果:

方式二:使用应用程序网关,保护后端App Service

1)创建应用程序网关,按照教程把网关的后端池设置为App Service (又名 Web App)

教程:将应用服务添加为后端池:https://docs.azure.cn/zh-cn/application-gateway/configure-web-app-portal#add-app-service-as-backend-pool

2)回到App Service页面,进入Network网络设置页面,在限制访问中,配置只允许应用程序网关的IP地址进行访问。

注意:此时,自定义域名就不是绑定在App Service上,而是通过A记录的方式,在DNS服务器配置上指向应用程序网关的IP地址。

 验证效果:

参考资料

Rewrite配置信息https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/url-rewrite-module-configuration-reference#rewrite-rule-configuration

将应用服务添加为后端池https://docs.azure.cn/zh-cn/application-gateway/configure-web-app-portal#add-app-service-as-backend-pool

设置 Azure 应用服务访问限制https://docs.azure.cn/zh-cn/app-service/app-service-ip-restrictions

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

原文地址:https://www.cnblogs.com/lulight/p/15752472.html