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

Hug*_*ège 4 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

Dav*_*yer 8

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