Базовая HTTP авторизация на shared хостинге под nginx
Столкнулся с забавной проблемой базовой HTTP авторизации на хостинге от reg.ru.
Мы делали интеграцию Opencart магазина с системой МойСклад. Общение магазина с этой системой происходит по протоколу CommerceML, подразумевающему авторизацию клиента на ресурсе посредством базовой HTTP авторизации.
Проблема обнаружилась только на продакшене, поскольку на тестовых нодах юзается apache + modphp, а на проде — nginx + php-fpm, переделывать скрипты модуля интеграции бесполезно — клиент расчитывает на конкретный вид авторизации.
После некоторого гугления, обнаружил рабочий рецепт — на хостинге reg.ru, nginx обрабатывает htaccess файлы, поэтому мы кинули такой однострочник в каталог со скриптом выгрузки:
SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0
Опубликовано
09.02.2018