跨域 The ‘Access-Control-Allow-Origin’ header contains multiple values, but only one is allowed

前端使用angular,服务器使用spring cloud,调用时报错:

The ‘Access-Control-Allow-Origin’ header contains multiple values ‘*, http://localhost:4200’, but only one is allowed. Origin ‘http://localhost:4200’ is therefore not allowed access.

从错误中可以看出,浏览器只允许Access-Control-Allow-Origin中有一个值,但是服务端返回两个,所以报错。

原因分析:

1、如果使用nginx做代理,nginx设置允许跨域后,spring中不需要在设置

2、如果只是使用了spring cloud,那只需要在网关gateway中设置允许跨域即可,gateway和微服务之间不需要设置允许跨域。

 

发表评论