4

我尝试使用 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

4

1 回答 1

8

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

于 2015-04-03T15:08:17.980 回答