Решил оставить такую мелкую шпаргалку описывающую, как можн прикрутить авторизацию по логину/паролю на nginx в Centos-подобных системах.
Ставим пакет:
[root@prometheus01]# yum install httpd-tools
Создаем файл с содержимым секретов:
[root@prometheus01]# htpasswd -c /etc/nginx/.passwd admin
Ключ -c /path/to/file
- говорит системе, что мы хотим создать новый файл секретов.
Для добавления пользователя в этот же файл секретов, используем команду:
[root@prometheus01]# htpasswd /etc/nginx/.passwd grafana-user
На файле с секретами, меняем овнера и группу:
[root@prometheus01 ~]# chown -R nginx:nginx /etc/nginx/.passwd
Остается отдерактировать nginx-config-у:
[root@prometheus01 ~]# vi /etc/nginx/conf.d/prometheus.conf
---
server {
listen 80;
listen [::]:80;
server_name prometheus.mydomain.local;
auth_basic "Prometheus admin area";
auth_basic_user_file /etc/nginx/.passwd;
location / {
proxy_pass http://localhost:9090/;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
В наш существуюший конфиг с проксированием на prometheus устанавливаем авторизацию, указав две директивы:
# Описание реалма
auth_basic "Prometheus admin area";
# Пусть к файлу с секретами
auth_basic_user_file
Ну и перезапускаем nginx:
[root@prometheus01 ~]# systemctl restart nginx
Теперь при обращении к сайту, будет вылазить модальное окно с запросом пароля/логина.