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