Azure静态Web应用程序匿名健康检查路由

问题描述 投票:0回答:1

我有一个带有 staticwebapp.config.json 的 Azure 静态 Web 应用程序,如下所示:

"routes": [
  {
    "route": "/*",
    "allowedRoles": ["authenticated"]
  }
]
"navigationFallback": {
  "rewrite": "index.html",
  "exclude": ["/static/media/*.{png,jpg,gif,svg}", "/static/css/*"]
}

这有效,所有路由都需要经过身份验证。现在,我想向

/health
路由添加一个例外,以允许运行状况检查服务来查看我的网站是否已启动并运行。我怎样才能做到这一点?我尝试添加这样的路线:

"routes": [
  {
    "route": "/health",
    "allowedRoles": ["anonymous"]
  },
  {
    "route": "/*",
    "allowedRoles": ["authenticated"]
  }
]
"navigationFallback": {
  "rewrite": "index.html",
  "exclude": ["/static/media/*.{png,jpg,gif,svg}", "/static/css/*"]
}

但这不起作用,

/health
路由仍然需要身份验证。

health-monitoring health-check azure-static-web-app
1个回答
0
投票

你的背后有什么

/health

可能是

navigationFallback
将您重定向到需要身份验证的index.html。

您可以通过添加 navigationFallback 部分来定义后备规则。以下示例针对所有与已部署文件不匹配的静态文件请求返回 /index.html。 官方文档

为了确定,将

/health
添加到排除路径中:

"exclude": ["/static/media/*.{png,jpg,gif,svg}", "/static/css/*", "/health"]

这不是由于您的配置中的路由顺序

规则评估在第一场比赛时停止

© www.soinside.com 2019 - 2024. All rights reserved.