首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Netflix Zuul未通过.Net Core 3.1 Web App的关联Cookie - Identity Server4和Nginx

问Netflix Zuul未通过.Net Core 3.1 Web App的关联Cookie - Identity Server4和Nginx
EN

Stack Overflow用户
提问于 2020-04-28 17:17:38
回答 1查看 146关注 0票数 0

我有一个基本的.Net Core 3.1 mvc web应用程序,它将混合流与Identity Server4结合使用(基于它们的快速入门)。后者位于nginx之后,web应用程序位于nginx和zuul之后。单击web应用程序中的登录按钮时,将重定向到Identity Server的登录页。登录后,oidc重定向失败,在我的web应用程序日志中,我有一个关联id cookie错误,说明它已丢失。

然后我所做的是将web应用程序直接放在nginx后面,就像Identity Server一样,使用oidc登录和注销重定向,一切都像预期的那样工作。

这是我在application.properties中的zuul配置

代码语言:javascript
复制
zuul.sensitive-headers=Cookie,Set-Cookie
zuul.ignored-services= '*'
zuul.add-host-header=true

server.port=9002
spring.application.name=zuul
eureka.instance.preferIpAddress=true
eureka.client.serviceUrl.defaultZone=${EUREKA_URI:http://localhost:9001/eureka}
zuul.strip-prefix=false
eureka.client.fetch-registry=true
eureka.client.register-with-eureka=true

在此配置中,我是否还需要其他东西来解决我的问题?

我的nginx被配置为转发web应用程序的所有必要标头,但在从zuul代理时,可能会丢失下游的某些内容。

代码语言:javascript
复制
location / {
   proxy_pass http://zuul:9002/;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Scheme $scheme;
   proxy_set_header X-Forwarded-Proto $scheme;
   proxy_set_header Host $host;
   proxy_set_header X-Forwarded-Host $host;
}

这一切都是使用Docker容器完成的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-28 22:20:37

最后,这是一个相当简单的修复方法,因为我最初误解了zuul文档。我确实在上面做的是将cookie列入黑名单:

代码语言:javascript
复制
zuul.sensitive-headers=Cookie,Set-Cookie

似乎是zuul将Cookie,Set-Cookie,Authorisation列入了开箱即用的黑名单。一旦我将该属性设置为空字符串或随机字符串名称,一切都会按预期运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61476707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档