如何将 access-control-allow-origin header 从 Web 应用转发到 Front Door?
How to forward access-control-allow-origin header from a Web App to a Front Door?
我目前在容器中有一个 Web 应用程序 运行,并正确配置了 access-control-allow-origin header。但是,当我检查此 Web 应用程序前面的前门时,相同的 header 具有选项“*”——接受所有类型的请求,与配置的请求不同。
如何获取传播此 Web 应用程序的前门 header?
官方文档如下:Azure Front Door Rule Set
On Azure Front Door, you can create a rule in the Azure Front Door
Rules Set to check the Origin header on the request. If it's a valid
origin, your rule will set the Access-Control-Allow-Origin header with
the correct value. In this case, the Access-Control-Allow-Origin
header from the file's origin server is ignored and the AFD's rules
engine completely manages the allowed CORS origins.
Doris lv之前的回答是正确的,但我也想指出几点:
- 注意不要在 URL 末尾添加斜杠 (/) -- 我已经添加了,这就是为什么不起作用:
- 创建规则后,转到 Front Door designer (FDD) 和 link 这个新规则以及一些可用的路由规则
- 同样在 FDD 中,单击 Purge 按钮清除以前的缓存并加载新配置
另一件重要的事情是,由于 HDCL AppScan 说 Access-Control-Allow-Origin header 过于宽松,我不得不进行此配置;也就是说,扫描指出 Java 脚本文件有这个问题,但它们没有,只有 CSS 和 TFF 文件有这个 header。仔细查看扫描报告指出发生的事情是 Vary header 的值是 Origin,使扫描报告成为 Cross-Origin 资源共享 (CORS) 问题。要解决这个问题,只需在规则引擎配置中添加一个新规则,删除这个 header 就像所示:
在此之后,扫描没有再报告任何问题
我目前在容器中有一个 Web 应用程序 运行,并正确配置了 access-control-allow-origin header。但是,当我检查此 Web 应用程序前面的前门时,相同的 header 具有选项“*”——接受所有类型的请求,与配置的请求不同。
如何获取传播此 Web 应用程序的前门 header?
官方文档如下:Azure Front Door Rule Set
On Azure Front Door, you can create a rule in the Azure Front Door Rules Set to check the Origin header on the request. If it's a valid origin, your rule will set the Access-Control-Allow-Origin header with the correct value. In this case, the Access-Control-Allow-Origin header from the file's origin server is ignored and the AFD's rules engine completely manages the allowed CORS origins.
Doris lv之前的回答是正确的,但我也想指出几点:
- 注意不要在 URL 末尾添加斜杠 (/) -- 我已经添加了,这就是为什么不起作用:
- 创建规则后,转到 Front Door designer (FDD) 和 link 这个新规则以及一些可用的路由规则
- 同样在 FDD 中,单击 Purge 按钮清除以前的缓存并加载新配置
另一件重要的事情是,由于 HDCL AppScan 说 Access-Control-Allow-Origin header 过于宽松,我不得不进行此配置;也就是说,扫描指出 Java 脚本文件有这个问题,但它们没有,只有 CSS 和 TFF 文件有这个 header。仔细查看扫描报告指出发生的事情是 Vary header 的值是 Origin,使扫描报告成为 Cross-Origin 资源共享 (CORS) 问题。要解决这个问题,只需在规则引擎配置中添加一个新规则,删除这个 header 就像所示:
在此之后,扫描没有再报告任何问题