刷新将我带到 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>