Как избежать перенаправления на другой хост с Zuul?

Я пытался играть с Zuul, обратным прокси-сервером, используемым в Spring Cloud Netflix. Я начал проект с учебника, найденного в весеннем блоге ( https://spring.io/blog/2015/02/03/sso-with-oauth2-angular-js-and-spring-security-part-v)

Однако я не уверен, что правильно понял роль Зуула.

Если я перейду к localhost:8080 / login, я подумал, что 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/

Всегда ли возможно остаться на локальном хосте:8080 (что, как я думал, должен был сделать Зуул)?

Полный проект доступен на github, поэтому его можно запустить локально: https://github.com/hlassiege/oauth-social-zuul

1 ответ

Решение

Перенаправление на самом деле вызвано Spring Security, а не частью конфигурации Zuul, поэтому, независимо от конфигурации Zuul, функции безопасности не позволят вам добраться до чего-либо до того, как вы аутентифицируетесь. Сервер по адресу "localhost:9999/uaa" является сервером авторизации OAuth2. Он играет такую ​​же роль, как Github или Facebook в сценарии единого входа ("Войти через Facebook" и т. Д.). Вы не захотите прокси-вызовы, потому что сервер обрабатывает свои собственные протоколы. Если у вас не было OAuth2 SSO, вы можете использовать прокси-вызовы на все, что захотите.

Другие вопросы по тегам