JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

Prometheus启用TLS prometheus tidb

wys521 2024-10-21 10:40:10 精选教程 35 ℃ 0 评论

Prometheus Server默认是没有启用TLS的,我们启动Prometheus ,就可以之间访问Prometheus UI,这样对于生产环境来说存在安全性。接下来,我们配置nginx代理到Prometheus的localhost:9090,通过用户名和密码访问Prometheus UI,加强Prometheus的安全性。


部署脚本

# vi prometheus-tls.sh

#!/bin/bash

HOST="localhost"
PORT="9090"

# run script as root or with sudo

# install nginx and openssl
yum -y install nginx openssl apache2-utils

# generate ssl certificate (host prometheus.example.com)
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -subj '/CN=prometheus.example.com' -nodes
mv key.pem /etc/ssl/private/nginx.pem
chmod 600 /etc/ssl/private/nginx.pem
mv cert.pem /etc/ssl/certs/nginx.pem

echo 'server {
  listen 443;
  ssl    on;
  ssl_certificate /etc/ssl/certs/nginx.pem;
  ssl_certificate_key /etc/ssl/private/nginx.pem;
  location / {
    proxy_pass http://'${HOST}':'${PORT}'/;
    auth_basic "Prometheus";
    auth_basic_user_file /etc/nginx/.htpasswd;
  }
}' > /etc/nginx/conf.d/prometheus-tls.conf

systemctl enable nginx
systemctl restart nginx

在Prometheus Server上执行上述脚本

# sh prometheus-tls.sh

我们修改一下Prometheus 启动命令,端口绑定到localhost,不对外暴露9090端口

# /usr/local/bin/prometheus --config.file /etc/prometheus/prometheus.yml --web.listen-address="localhost:9090"

访问NGINX代理 , https://192.168.0.112/

可以看到下面的界面

出现输入用户名密码界面,这里我们还没有设置,需要设置,创建用户admin,密码admin

# htpasswd -c /etc/nginx/.htpasswd admin
New password:
Re-type new password:
Adding password for user admin

我们刷新 https://192.168.0.112/ ,可以成功访问Prometheus UI。

到这里,我们完成了Ngninx 启用TLS,并且反向代理Prometheus UI,加强Prometheus的安全性。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表