У меня есть клиентская библиотека, которая мне нужна для поддержки, которая жестко определяет подкаталог и настраиваемый метод аутентификации заголовка. Сервер уже использует подкаталог для чего-то еще, поэтому я подумал, сопоставить поддомен + подкаталог с другим подкаталогом. Сервер использует обычную аутентификацию.
Я правильно переписываю поддомен в альтернативный подкаталог, но у меня проблемы с аутентификацией. В настоящее время я передаю "user: pass" в кодировке base64 в настраиваемом заголовке и попытался proxy_set_header
установить заголовок аутентификации. Как я могу использовать значение из настраиваемого заголовка для базовой аутентификации?
server {
server_name subdomain.example.com;
listen 443;
ssl on;
ssl_certificate /etc/nginx/ssl/example.crt;
ssl_certificate_key /etc/nginx/ssl/example.key;
rewrite ^/hardcodesubdir/(.*)$ https://example.com/newsubdir/$1;
proxy_set_header Authorization "Basic $http_x_custom_header";
}
Мне удалось заставить его работать с proxy_pass внутри локации
server {
server_name subdomain.example.com;
listen 443;
ssl on;
ssl_certificate /etc/nginx/ssl/example.crt;
ssl_certificate_key /etc/nginx/ssl/example.key;
location /hardcodesubdir/ {
proxy_set_header Authorization "Basic $http_x_custom_header";
proxy_pass https://example.com/newsubdir/
}
}