首页 > 解决方案 > 通过 ARM 模板的 Web App 和 Application Insights

问题描述

我创建了一个 ARM 模板,用于创建与此模板 ( https://github.com/tomasr/webapp-appinsights )类似的 App Service(Web 应用程序)和 Application Insights 资源。应用程序洞察力已连接到网络应用程序并且一切正常,唯一的问题是应用程序洞察力自动生成对我的网络应用程序根目录的请求,作为可用性测试的一部分,该测试总是返回错误,因为我在根路径中没有任何内容(即使我有,它也在调用 http 而不是 https url)。模板中没有设置此请求的任何内容,如果我转到可用性属性,则没有任何内容。有没有办法关闭此功能或将其配置为调用有效的 URL?

标签: azureazure-application-insightsazure-resource-manager

解决方案


如果它始终处于打开状态,App Service 的功能可以通过每隔一段时间使用 HTTP GET 向根目录 ping 应用程序来防止您的应用程序空闲,有一种方法可以使用 Rewrite。

您可以创建一个重写规则,该规则的条件检测到它是一个 Always On 请求,如果是,则让它命中您指定的另一个 URL。这是一个例子:

<?xml version="1.0" encoding="UTF-8" standalone="no">
<configuration>
    <system.webServer>
      <rewrite>
        <rules>
          <rule name="Rewrite AlwaysOn" stopProcessing="true">
            <match url="^$" />
            <conditions>
              <add input="{HTTP_USER_AGENT}" pattern="^AlwaysOn$" />
            </conditions>
            <action type="Rewrite" url="/api/Online/Ping" />
          </rule>
        </rules>
      </rewrite>
    </system.webServer>
</configuration>

我从以下网址找到的原始文章:https ://blogs.msdn.microsoft.com/benjaminperkins/2018/08/10/how-to-optimize-azure-app-service-alwayson-cold-start-warm-up-request /

如果您有将 HTTP 重定向到 HTTPS 的重写规则,则应在此之前添加此规则。


推荐阅读