2015-04-02 118 views
2

我尝试使用Spring云Netflix中使用的反向代理Zuul。 我已经从春季博客上发现的教程开始项目(https://spring.io/blog/2015/02/03/sso-with-oauth2-angular-js-and-spring-security-part-v如何避免使用Zuul重定向到其他主机?

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

如果我去localhost:8080/login,我认为Zuul会代理我的请求,所以我留在本地主机上: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

回答

6

重定向实际上是由春季安全造成的,而不是由配置的Zuul一部分,所以不论Zuul配置,安全功能将阻止您在进行身份验证之前完成所有任务。 “localhost:9999/uaa”处的服务器是OAuth2授权服务器。它扮演的角色就像Github或Facebook在SSO场景中一样(“使用Facebook登录”等)。你不想代理这些调用,因为服务器处理它自己的协议。如果你没有OAuth2 SSO,那么你可以代理调用任何你想要的。