Назад | Перейти на главную страницу

Как сделать PHP_AUTH_USER и PHP_AUTH_PW доступными в nginx?

У меня есть модуль Magento, который запрашивает $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW'] переменные.

В его документации следующая настройка для apache предлагается:

SetEnvIfNoCase Authorization "Basic ([a-z0-9=]+)" REMOTE_AUTHORIZATION=$

Но я использую nginx. Что я могу добавить в свой .conf файл для поддержки этих переменных?

Это должно делать свое дело:

fastcgi_param PHP_AUTH_USER $remote_user;
fastcgi_param PHP_AUTH_PW $http_authorization;

Редактировать: Прочтите, пожалуйста, комментарии к моему ответу. Это позволит вам получить доступ к переменным, только если пользователь прошел аутентификацию с помощью nginx, а не с помощью PHP. Невозможно получить доступ к переменным PHP в nginx просто потому, что nginx перед PHP и взаимодействует с PHP только через протокол FastCGI. Это другое дело, если вы используете Apache httpd с modphp.