解决prometheus部署在公网IP上的安全认证问题

认证就是在登陆的时候提示输入账号密码。在这里我们是通过nginx上的HTTP Basic Auth来实现。

1、部署nginx

yum install -y nginx

2、安装apache-htpasswd工具

yum -y install httpd-tools

3、创建账号密码

cd /etc/nginx
htpasswd -c ht.passwd prometheus
ht.passwd : 文件名
prometheus: 帐号名

输入密码

4、在nginx.conf里面编辑反向代理

server {
	listen 19090;
    
	location / {
		proxy_pass http://localhost:9090;
		auth_basic "Basic Authentication";
		auth_basic_user_file "/etc/nginx/ht.passwd";
	}
 
}

5、重启 prometheus
nohup ./prometheus --storage.tsdb.path="/data/prometheus/prometheus-2.27.1/data/" --web.external-url=http://localhost:19090 --web.route-prefix="/" --web.enable-lifecycle --web.listen-address=“localhost:9090

  1. 访问
    http://ip:9090/graph – 无法访问
    http://ip:19090/graph – 访问提示输入帐号密码

猜你喜欢

转载自blog.csdn.net/zhuchunyan_aijia/article/details/117997630