Задача:
вывести страницу защищенную HTTP Basic Authentication без ввода пароля пользователем.
Например, нужно вывести информацию из системы мониторинга Nagios в документе Confluence, используя макрос Html include replace
Решение:
Можно использовать возможности Nginx как frontend proxy. Достаточно прописать директиву для backend в конфиге nginx:
proxy_set_header Authorization "Basic [user:password encoded by Base64]";
где [user:password encoded by Base64] получается из вывода команды:
echo "user:password" | base64
Пример конфигурации для nginx:
server {
server_name frontend.example.com;
listen 80;
location /nagios {
proxy_pass http://nagios.example.com/;
proxy_set_header Authorization "Basic dXNlcjpwYXNzd29yZAo=";
proxy_redirect http://nagios.example.com/ /nagios;
}
При запросе http://frontend.example.com/nagios/ Nginx запросить http://nagios.example.com/ автоматически авторизуясь с логином user и паролем password