Как я могу установить директиву nginx proxy_pass, которая также будет включать информацию об аутентификации HTTP Basic, отправляемую на хост прокси?
Это пример URL, который мне нужен для прокси:
http://username:password@192.168.0.5/export?uuid=1234567890
Конечная цель состоит в том, чтобы разрешить одному серверу представлять файлы с другого сервера (того, к которому мы используем прокси), не раскрывая URI прокси-сервера. У меня теперь это работает на 90% правильно, следуя конфигу Nginx, найденному здесь:
http://kovyrin.net/2010/07/24/nginx-fu-x-accel-redirect-remote/
Мне просто нужно добавить в HTTP Basic аутентификацию для отправки на прокси-сервер
Ответы:
Я сделал рецензию на это некоторое время назад. Подробности смотрите здесь:
http://shairosenfeld.blogspot.com/2011/03/authorization-header-in-nginx-for.html
Например:
"a2luZzppc25ha2Vk" это "king: isnaked" в кодировке base64, так что это будет работать для
HTTP // король: isnaked@6.6.6.6
Не стесняйтесь проверить сообщение в блоге для более подробной информации.
источник
Я получил это, работая с ответом alvosu, но мне пришлось ввести слово «Basic» внутри цитаты строки base64, чтобы она выглядела так:
источник
Установите proxy_set_header Authorization "USER_AND_PASS", где USER_AND_PASS = base64 (пользователь: проход)
источник
Basic
.Удалите заголовок авторизации, который передается с помощью nginx
proxy_set_header Authorization "";
.Я настроил nginx для выполнения базовой аутентификации, но
Authorization
заголовок передавался вproxy_pass
директиве, а принимающая сторона не могла обработать токен.(В моем случае эта ошибка была возвращена
Reason: No AuthenticationProvider found for org.springframework.security.authentication.UsernamePasswordAuthenticationToken
)источник