我遇到了 spring cloud Zuul 代理的问题。我已经配置并运行了两个微服务。我的网络浏览器中有一个 cookie,我使用 Zuul 作为 API 网关,当我点击 Zuul 调用我的后端时,Zuul 没有将我的 cookie 转发到我的后端,似乎 Zuul 忽略了发送的 cookie,我的后端是无法检索这个。
你能帮我解决这个问题吗?我正在使用 Spring cloud Brixton.RELEASE 和 spring boot 1.3.5
问候。
我遇到了 spring cloud Zuul 代理的问题。我已经配置并运行了两个微服务。我的网络浏览器中有一个 cookie,我使用 Zuul 作为 API 网关,当我点击 Zuul 调用我的后端时,Zuul 没有将我的 cookie 转发到我的后端,似乎 Zuul 忽略了发送的 cookie,我的后端是无法检索这个。
你能帮我解决这个问题吗?我正在使用 Spring cloud Brixton.RELEASE 和 spring boot 1.3.5
问候。
在 Spring Cloud Netflix 1.1 中,“Cookies”包含在敏感标头列表中,它们不会被传递下去。
这可以通过配置 zuul.routes.*.sensitiveHeaders 进行操作。
请参阅此处标题“Cookie 和敏感标头”下的文档详细信息:
http://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html
允许不转发这些数据的默认 Zuul 敏感标头是
sensitiveHeaders=Cookie,Set-Cookie,Authorization
为了能够转发 cookie,您可以放入 bootstrap.properties 文件
sensitiveHeaders=
或者,如果您不需要 Authorization 标头
sensitiveHeaders=Authorization
在 application.yml 中添加敏感标头,如下所示:-
routes:
service:
path: /service/**
sensitiveHeaders: Cookie,Set-Cookie
url: http://localhost:9001
我已经解决了这个问题,只需使用简单的 http 标头传递在我的 cookie 中发送的数据。