【问题标题】:How to avoid redirect to another host with Zuul?如何避免使用 Zuul 重定向到另一个主机?
【发布时间】:2015-06-07 15:32:13
【问题描述】:

我尝试使用 Zuul,这是 Spring Cloud Netflix 中使用的反向代理。 我从 spring 博客 (https://spring.io/blog/2015/02/03/sso-with-oauth2-angular-js-and-spring-security-part-v) 上的教程开始了一个项目

但我不确定我是否正确理解了 Zuul 的角色。

如果我访问 localhost:8080/login,我认为 Zuul 会代理我的请求,以便我留在 localhost:8080 但是我得到了一个 302 重定向到 localhost:9999/uaa/login。

zuul路由配置如下:

zuul: routes: resource: path: /resource/** url: http://localhost:9000/resource login: path: /login/** url: http://localhost:9999/uaa/login user: path: /user/** url: http://localhost:9999/uaa/user auth: path: /auth/** url: http://localhost:9999/uaa/

有没有可能一直停留在 localhost:8080(我认为 Zuul 应该这样做)?

完整的项目在 github 上可用,因此可以在本地运行它:https://github.com/hlassiege/oauth-social-zuul

【问题讨论】:

    标签: spring-boot spring-cloud netflix-zuul


    【解决方案1】:

    重定向实际上是由 Spring Security 引起的,而不是由配置的 Zuul 部分引起的,因此无论 Zuul 配置如何,Security 功能都会阻止您在通过身份验证之前访问任何内容。 “localhost:9999/uaa”的服务器是一个 OAuth2 授权服务器。它在 SSO 场景中扮演着 Github 或 Facebook 的角色(“使用 Facebook 登录”等)。您不想代理这些调用,因为服务器处理自己的协议。如果您没有 OAuth2 SSO,那么您可以代理调用任何您想要的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-09
      • 1970-01-01
      • 2015-08-28
      • 1970-01-01
      • 2014-04-26
      • 1970-01-01
      相关资源
      最近更新 更多