Я работаю над веб-приложением с весенней загрузкой, где приложение размещено за обратным прокси-сервером Zuul, а шлюзом API является nginx. Все приложения работают на одной виртуальной машине (NginX, Zuul и My App)
Nginx выполняет завершение SSL, а zull отвечает за аутентификацию и авторизацию запросов. Я использую OpenID Connect для аутентификации пользователя с Auth0.
поток запроса
Browser --(A)--> NginX --(B)--> Zuul --(c)--> My Application
A - https звонок с доменным именем, например: https://example.com
B - http-вызов для локально работающего сервера Zull, например: http://127.0.0.1:7070
На сервере nginx я дал правило перенаправлять весь трафик на локально работающий сервер Zull
https://example.com -> http://127.0.0.1:7070
В этой конфигурации URL обратного вызова устанавливается как https://example.com/callback в Auth0, и после вызова URL обратного вызова он будет отправлен на сервер zuul с другим именем.
https://example.com/callback?code=sf4sf4ds4fdf --> http://127.0.0.1:7070/callback?code=sf4sf4ds4fdf
Я использовал библиотеки, предоставленные Auth0, чтобы обменять код авторизации на токен. но в этот момент запрос на токен содержит URL-адрес обратного вызова как http://127.0.0.1:7070/callback, а не как https://example.com/callback (это то, что я зарегистрировал в Auth0 и использовал для получения кода авторизации). Поэтому система всегда выдает и ошибку.
Я могу заставить это работать, удалив сервер nginx и непосредственно сохранив сервер zuul впереди (тогда нет никаких изменений URL). Есть ли способ заставить это работать с моей существующей конфигурацией.
Спасибо