我有一个问题/疑问。我有一个典型的"在运行aws的spring cloud netflix环境。
现在我的问题:
给定(工作认证): 请求(https://DOMAIN.net/) - > AWS负载均衡器(添加标头X-Forwarded-For和X-Forwarded-Proto) - > Zuul
路由/ for zuul是安全的,这意味着Spring安全正确地将用户重定向到https:// DOMAIN / login,这会使用正确的重定向URI触发正确的重定向到我们的auth服务器。这里没问题。
给定(不工作认证):请求(https://DOMAIN.net/service) - > AWS负载均衡器(添加标头X-Forwarded-For和X-Forwarded-Proto) - > Zuul(添加标题X-Forwarded-Prefix) - >服务
我们服务的路线/安全,应用程序重定向到https://localhost/service/login。我希望重定向到https:// DOMAIN / service / login。
我不知道为什么会失败。请求是正确的IMO。此外,所有必需的标头都代理到服务..
我的问题是:zuul背后不能进行oauth2身份验证。
我希望有人可以帮助我。我已经尝试了很长时间但没有结果:/。
(请查看https://github.com/spring-cloud/spring-cloud-netflix/issues/942了解更多详情。我已经进行了大量研究并尝试过几乎所有内容。)
编辑: 为简单起见,我们在与zuul相同的机器上运行我们的服务。这意味着我们的zuul路由配置将route / service / **路由到http:// localhost:10001 / service,并且前缀未被剥离。路由工作完美。只是身份验证..到/ service / **的路由不在zuul上保护。