刷新将我带到 404
Refresh takes me to a 404
谁能帮帮我?我在 Azure 门户中部署了应用服务,但页面刷新使我出现 404 错误。我调整了 Nginx 配置,但随着时间的推移它们被覆盖了。我做错了什么?
App Service Always On 定期(每 5 分钟)对应用程序实例进行探测并导致请求失败并出现错误 404,这可以可以在 Application Insights 中找到,如下所示:
这可以通过重写 Always on
路径来解决。
您的应用程序冷启动后,AlwaysOn
将向您的应用程序“/”的根目录发送请求。
向 /
发出请求时传送的任何文件都是将被预热的文件,由于根目录不存在,预热将失败。
如果您希望AlwaysOn
预热特定页面而不是根页面,那么您可以实施此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>
谁能帮帮我?我在 Azure 门户中部署了应用服务,但页面刷新使我出现 404 错误。我调整了 Nginx 配置,但随着时间的推移它们被覆盖了。我做错了什么?
App Service Always On 定期(每 5 分钟)对应用程序实例进行探测并导致请求失败并出现错误 404,这可以可以在 Application Insights 中找到,如下所示:
这可以通过重写 Always on
路径来解决。
您的应用程序冷启动后,AlwaysOn
将向您的应用程序“/”的根目录发送请求。
向 /
发出请求时传送的任何文件都是将被预热的文件,由于根目录不存在,预热将失败。
如果您希望AlwaysOn
预热特定页面而不是根页面,那么您可以实施此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>