如何避免使用Zuul重定向到另一台主机?

时间:2015-04-02 15:41:14

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

我尝试使用Zuul,一个在Spring Cloud Netflix中使用的反向代理。 我从春季博客(https://spring.io/blog/2015/02/03/sso-with-oauth2-angular-js-and-spring-security-part-v

上发现的教程开始了一个项目

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

如果我去localhost:8080 /登录,我认为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

1 个答案:

答案 0 :(得分:8)

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