LINUX.ORG.RU

История изменений

Исправление 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.