修复zuul跨域配置异常

本文主要介绍一下在zuul进行跨域配置的时候出现的异常。

异常

The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed

实例

Access-Control-Allow-Credentials:true
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:http://localhost:3000
Access-Control-Allow-Origin:http://localhost:3000
Cache-Control:no-cache, no-store, max-age=0, must-revalidate
Content-Type:application/json;charset=UTF-8
Date:Thu, 11 Aug 2016 14:23:09 GMT
Expires:0
Pragma:no-cache
Transfer-Encoding:chunked
Vary:Origin
Vary:Origin
X-Application-Context:shipping-service:dev:8080
X-Content-Type-Options:nosniff
X-Frame-Options:DENY
X-XSS-Protection:1; mode=block

方案

多次请求的时候,会把这些header再带过来,然后请求zuul转发的接口又在写入一次,造成重复了,方案就是zuul转发的时候,过滤掉这些header,比如

zuul:
  sslHostnameValidationEnabled: false  
  routes:
    info:
      sensitiveHeaders: Access-Control-Allow-Origin,Access-Control-Allow-Methods
      path: /share/**
      url: http://192.168.99.100:9000/

doc

  • Zuul Access-Control-* Headers are duplicated
  • Zuul Proxy CORS header contains multiple values, headers repeated twice - Java Spring Boot CORS filter config

原文发布于微信公众号 - 码匠的流水账(geek_luandun)

原文发表时间:2017-08-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Ryan Miao

Javascript跨域后台设置拦截

子域名之间互相访问需要跨域 结论放在开头: 服务端必须设置允许跨域 客户端带cookie需要设置withCredentials 无论服务端是否允许跨域,该req...

28480
来自专栏developerHaoz 的安卓之旅

程序员都该懂点 HTTP

HTTP 全称是 HyperText Transfer Protocal ,即:超文本传输协议,从 1990 年开始就在 WWW 上广泛应用,是现今在 WWW ...

9630
来自专栏闻道于事

Spring Boot yml格式配置

14540
来自专栏个人分享

Hbase基本操作~

每张表至少要有一个列簇,因此我们创建了info,现在,看看我们的表,执行下面list命令:

15020
来自专栏枕边书

网页实时聊天之js和jQuery实现ajax长轮询

众所周知,HTTP协议是无状态的,所以一次的请求都是一个单独的事件,和前后都没有联系。所以我们在解决网页实时聊天时就遇到一个问题,如何保证与服务器的长时间联系,...

83380
来自专栏Java架构师历程

数据库连接池

官方:数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,...

44620
来自专栏Java后端技术

[转]阿里巴巴数据库连接池 druid配置详解

  java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。数据库连接池有很多选择,c3p、dhcp、proxool等,dr...

83630
来自专栏用户画像

Git冲突:commit your changes or stash them before you can merge.

git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。 ...

13320
来自专栏IT笔记

Nginx学习之缓存配置

项目采用的是Nginx+Tomcat,Nginx处理静态请求并缓存,Tomcat处理动态请求。 缓存配置proxy_cache.conf: #设置Web缓存区名...

31470
来自专栏测试开发架构之路

命令行窗口中用telnet测试HTTP协议

1. 命令行窗口中用telnet测试HTTP协议  HTTP消息是由普通ASCII文本组成。消息包括消息头和数据体部分。消息头以行为单位,每行以CRLF(回车和...

44790

扫码关注云+社区

领取腾讯云代金券