我有一个使用.NET Framework 4.8在VB.NET中编写的ASP.NET Web API,该API部署在使用自定义域的Azure App Service上。我正在尝试使用应用服务运行状况检查,但在设置时遇到问题。
我已经将Web API部署到名为“server”的文件夹中。我已经更新了site/wwwroot文件夹中的web.config文件,以强制执行以下规则
- 强制HTTPS
- 将对应用程序服务域的请求重定向到https://subdomain.customdomain.com
- 使用https://subdomain.customdomain.com的任何请求使用“服务器”文件夹中的应用程序
<rule name="Force HTTPS">
<match url="(.*)" ignoreCase="false"/>
<conditions logicalGrouping="MatchAll">
<add input="{HTTPS}" pattern="off"/>
<add input="{HTTP_HOST}" pattern="^(.*)\.customdomain\.com$" />
<add input="{HTTP_USER_AGENT}" pattern="Initialization" negate="true"/>
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent"/>
</rule>
<rule name="Redirect requests to default azure websites domain" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^appservicename\.azurewebsites\.net$" />
<add input="{HTTP_HOST}" pattern="appservicename.azurewebsites.net$" />
</conditions>
<action type="Rewrite" url="https://subdomain.customdomain.com/{R:0}" />
</rule>
<rule name="Server">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="subdomain.customdomain.com$" />
</conditions>
<action type="Rewrite" url="server/{R:1}" />
</rule>
我有一个端点在https://subdomain.customdomain.com/api/healthcheck工程,如果我把网址在浏览器中的地址栏.当我将/API/healthcheck放在应用服务健康检查的Health探测路径中时,示例被标记为不健康。
如何使用此设置进行运行状况检查?运行状况检查发送什么请求?是否需要更改将请求重定向到默认Azure网站域的规则?
1条答案
按热度按时间q8l4jmvw1#
当您从浏览器中点击URL时,HTTP 200表示网站本身已正确设置。您可以检查日志,查看运行状况检查从应用服务运行时返回的状态代码,并从那里进行故障排除。
查询AppServiceHTTPLogs以查看运行状况检查返回的状态代码是什么:
列“ScStatus”是调用返回的HTTP代码。
AppServiceHTTPLogs reference