除非在客户端设置了自定义标头,否则 CORS 可以正常工作
配置
Jooby版本:2.13.0 使用Undertow JDK 17
我的 CORS 设置按预期工作(只有 1 个例外),配置如下:
Cors cors = new Cors().setMethods("GET", "POST", "PUT", "DELETE", "OPTIONS");
cors.allowOrigin("*");
cors.setExposedHeaders("RT");
cors.setUseCredentials(true);
decorator(new CorsHandler(cors));
当我在客户端上设置自定义标头时,会出现问题。突然我看到错误代码 403 的消息:
同源策略不允许读取 http://localhost:9801/test 处的远程资源。 (原因:CORS 标头“Access-Control-Allow-Origin”丢失)。
请帮忙......
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
根据我调查的建议,发现如果我使用 Cors.setHeader() ,我就能让我的请求按预期工作。
也许还有其他解决方案,但这对我有用。
请注意,该方法不是累加性的,这意味着您必须添加默认标头,例如
Origin
和Accept
,否则您的单个标头将是唯一的。Based on the suggestion I investigated and found that if I used the
Cors.setHeader()
that I was able to get my requests working as expected.There maybe other solutions but this worked for me.
Please note that the method is not accretive, meaning that you have to add the default headers like
Origin
andAccept
, otherwise your single header will be the only one.