ToiVietBlog - Bài viết này sẽ hướng dẫn các ban thiết lập htpasswd bảo vệ cho Prometheus. Bạn biết đấy, khi truy cập giao diện Prometheus thì không có cửa sổ login/khóa nào cả.
Điều này không an toàn, vì bạn không muốn ai cũng có thể xem thông tin monitor hệ thống. Phải không?
Chúng ta có một giải pháp đó là htpasswd.
Cài đặt và thiết lập htpasswd trên Ubuntu 18
Tiếp tục thì mình vẫn sử dụng chung 1 server Ubuntu 18.04 mà ta đã dùng để cài prometheus, grafana và nginx proxy.
Đầu tiên, vì web server là nginx chứ không phải apache, nên ta cần cài gói apache ultis.
apt install apache2-utils -y
Tiếp theo, ta tạo thư mục chứa file password.
mkdir /etc/nginx/htpasswd
Và sau đó, ta tạo file chứa account dùng để xác thực cho domain prometheus.
htpasswd -c /etc/nginx/htpasswd/prometheus admin
Lệnh trên sẽ tạo ra một tài khoản với username là admin
, password bạn sẽ nhập tùy chọn trong lúc tạo.
Thiết lập htpasswd cho nginx virtual host domain

Nếu bạn sử dụng nginx proxy cho prometheus thì bây giờ, bạn hãy mở file cấu hình virtual host của prometheus lên.
Tìm đến block /
giống như bên dưới.
location / { ... ... }
Sau đó, bạn thêm vào block /
các dòng dưới đây.
auth_basic "Prometheus"; auth_basic_user_file /etc/nginx/htpasswd/prometheus;;
Nội dung block sẽ trông như thế này.
location / { proxy_pass http://prometheus.example.com; include /etc/nginx/conf.d/resource/proxypass.inc; auth_basic "Prometheus"; auth_basic_user_file /etc/nginx/htpasswd/prometheus; }
Sau đó, bạn kiểm tra và reload nginx.
nginx -t service nginx reload
Kết luận
Vậy là bạn đã thiết lập htpasswd thành công cho prometheus. Bây giờ, mỗi khi bạn truy cập giao diện prometheus, bạn sẽ phải nhập username và password mà bạn đã tạo. Điều này giúp cho chỉ bạn (hoặc ai giữ tài khoản) mới có thể truy cập được giao diện của prometheus.
If you appreciate what we share in this blog, you can support us by:
- Stay connected to: Facebook | Twitter | Google Plus | YouTube
- Subscribe email to recieve new posts from us: Sign up now.
- Start your own blog with SSD VPS - Free Let's Encrypt SSL ($2.5/month).
- Become a Supporter - Make a contribution via PayPal.
- Support us by purchasing Ribbon Lite Child theme being using on this website.
We are thankful for your support.