История изменений
Исправление tiandrey, (текущая версия) :
Ну, собственно, всё логично.
Пользователь идёт на главную, получает запрос авторизации, авторизуется. И дальше заголовок авторизации суёт во все запросы к этому домену. И пока он не попадает на /api
, всё хорошо - фронтовый веб-сервер эту аутентификацию обрабатывает, и пользователю данные отдаёт.
Но вот пользователь идёт на url /api/xxx
, и его браузер всё так же отправляет заголовок Authorization
. Добрый nginx все заголовки клиента, кроме запрещённых, передаёт в апстрим. И уже апстрим ругается на эту пару логин-пароль и требует повторной авторизации (не очень очевидное поведение апстрима, кстати говоря). Ну а с помощью proxy_set_header Authorization "";
ты просто запрещаешь передавать заголовок Authorization
апстриму.
Проверить это предположение можно, открыв при старой конфигурации в порнорежиме на твоём сайте урл с /api
.
Ну и это, не стесняйся в nginx debug-лог включать, там бы ты сразу увидел, что у тебя апстрим авторизацию просит, а не фронтовый веб-сервер.
Исправление tiandrey, :
Ну, собственно, всё логично.
Пользователь идёт на главную, получает запрос авторизации, авторизуется. И дальше заголовок авторизации суёт во все запросы к этому домену. И пока он не попадает на /api
, всё хорошо - фронтовый веб-сервер эту аутентификацию обрабатывает, и пользователю данные отдаёт.
Но вот пользователь идёт на url /api/xxx
, и его браузер всё так же отправляет заголовок Authorization
. Добрый nginx все заголовки клиента, кроме запрещённых, передаёт в апстрим. И уже апстрим ругается на эту пару логин-пароль и требует повторной авторизации (не очень очевидное поведение апстрима, кстати говоря). Ну а с помощью proxy_set_header Authorization "";
ты просто запрещаешь передавать заголовок Authorization
апстриму.
Проверить это предположение можно, открыв при старой конфигурации в порнорежиме на твоём сайте урл с /api
.
Исходная версия tiandrey, :
Ну, собственно, всё логично.
Пользователь идёт на главную, получает запрос авторизации, авторизуется. И дальше заголовок авторизации суёт во все запросы к этому домену. И пока он не попадает на /api
, всё хорошо - фронтовый веб-сервер эту аутентификацию обрабатывает, и пользователю данные отдаёт.
Но вот пользователь идёт на url /api/xxx
, и его браузер всё так же отправляет заголовок Authorization
. Добрый nginx все заголовки клиента, кроме запрещённых, передаёт в апстрим. И уже апстрим ругается на эту пару логин-пароль и требует повторной авторизации.
Проверить это предположение можно, открыв при старой конфигурации в порнорежиме на твоём сайте урл с /api
.