后端应用程序运行在micronaut框架之上。下面是我所得到的回应错误。
从源'x‘到'y’的
访问已被CORS策略阻止:‘访问控制-允许-原产地’标头包含多个值'x,x',但只允许一个。
当应用程序作为一个独立的jar运行时,它似乎运行良好。当它在舱内运行时会出现问题。尝试在荚内登录,并在那里运行CURL命令,它看起来也有双头。
对于Micronaut,我做了以下设置。
micronaut:
server:
cors:
enabled: true有人可以从哪里可以添加这些标题指出。入口控制器可以排除,因为在荚我可以看到双头。
我自己挖了点东西。下面是分析。本地生成Docker图像给出这些标头
HTTP/1.1 200 OK
Access-Control-Allow-Origin: test.com
Vary: Origin
Access-Control-Allow-Credentials: true
Date: Sat, 1 Feb 2020 13:13:47 GMT
content-type: application/json
content-length: 169
connection: keep-alive而docker映像通过我们的管道构建和做卷曲会给出下面的标题
HTTP/1.1 200 OK
Access-Control-Allow-Origin: test.com
Vary: Origin
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: test.com
Vary: Origin
Access-Control-Allow-Credentials: true
Date: Sat, 1 Feb 2020 13:13:47 GMT
content-type: application/json
content-length: 169
connection: keep-alive发布于 2020-02-04 12:26:11
请检查您的配置maven阴影插件。它应该是
<execution>
<phase>install</phase>
<goals>
<goal>shade</goal>
</goals>如果您在“包”阶段指定了它,则运行
mvn install
mvn package将导致META/services中的多个条目。
https://stackoverflow.com/questions/60001232
复制相似问题