quarkus:被 CORS 策略阻止

Posted

技术标签:

【中文标题】quarkus:被 CORS 策略阻止【英文标题】:quarkus: blocked by CORS policy 【发布时间】:2019-11-19 10:04:43 【问题描述】:

虽然我配置了属性文件我仍然得到错误:

blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

我还创建了一个 @Provider 扩展 ContainerRequestFilter,但它 永远不会到达那里

application.properties

# Configuration file
quarkus.http.port=9090
quarkus.http.cors=true
quarkus.http.origins=http://localhost:4200, localhost:9090
quarkus.http.headers=accept, authorization, content-type, x-requested-with
quarkus.http.methods=GET, OPTIONS

已编辑

17:11:09 WARN  [io.qu.config]] (build-3) Unrecognized configuration key "quarkus.http.methods" provided
17:11:09 WARN  [io.qu.config]] (build-3) Unrecognized configuration key "quarkus.http.headers" provided
17:11:09 WARN  [io.qu.config]] (build-3) Unrecognized configuration key "quarkus.http.origins" provided

【问题讨论】:

您好,http.methods 中似乎缺少某些方法,您使用的是什么方法 GET/POST/PUT? 仅 GET 获取这些服务 你可以尝试在你的 localhost:4200 中添加 /* 也不起作用,即使带有 * 也不为空或没有配置行 【参考方案1】:

警告是一个很好的指示。

您的配置不正确。

应该是这样的:

quarkus.http.cors.origins=http://localhost:4200,http://localhost:9090
quarkus.http.cors.headers=accept, authorization, content-type, x-requested-with
quarkus.http.cors.methods=GET, OPTIONS

带有cors 前缀。

我们现在没有适当的文档,所以最好参考https://github.com/quarkusio/quarkus/blob/master/extensions/undertow/runtime/src/main/java/io/quarkus/undertow/runtime/filters/CORSConfig.java。

我打开https://github.com/quarkusio/quarkus/issues/3156 来跟踪文档问题。

【讨论】:

嗨 Guillaume,是的,在他们已经告诉我的 g-groups/zulip 中,我将它们全部更正并重试,结果相同,我的意思是,不再有警告,但我无法进入我的资源从我的角度应用程序

以上是关于quarkus:被 CORS 策略阻止的主要内容,如果未能解决你的问题,请参考以下文章

Angular AWS 被 CORS 策略阻止

S3 被 CORS 策略阻止

http 请求被 Flutter Web 的 Cors 策略阻止

XMLHttpRequest 被 CORS 策略阻止

访问被 CORS 策略阻止:没有“访问控制允许来源”

Vue axios发布请求被CORS策略阻止[重复]