2015-04-02 122 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,那麼你可以代理調用任何你想要的。