Chuyên mục
Docker Network

Cấu hình truy cập Portainer qua tên miền và chứng chỉ SSL với Nginx Proxy Manager

Mặc định sau khi cài đặt Portainer để quản lý Docker, bạn sẽ truy cập Portainer thông qua port 9000 như dưới đây

http://<IP-máy-chủ>:9000/

Làm sao để truy cập Portainer thông qua tên miền và được bảo mật bằng SSL, ví dụ như sử dụng https://portainer.blntech.asia để truy cập vào Portainer

Bài viết này sẽ hướng dẫn bạn cách thiết lập Proxy Host cho Portainer trên Nginx Proxy Manager. Mục đích nhằm truy cập Portainer thông qua tên miền và được bảo mật bằng chứng chỉ SSL miễn phí của Let’s Encrypt.

Yêu cầu chuẩn bị

  • Máy chủ đã được cài đặt Nginx Proxy ManagerPortainer. Bấm vào link để xem hướng dẫn.
  • Đã có sẵn tên miền riêng (.com / .net / .me / …) và đã thiết lập A record cho tên miền phụ trỏ về IP của máy chủ.

Nếu cài đặt trên VPS miễn phí của Oracle, bạn cần phải mở thêm port 81 trên Subnet List và trên VPS để có thể truy cập vào Nginx Proxy Manager: xem hướng dẫn.

Tạo Proxy Host trên NPM

Truy cập vào Nginx Proxy Manager, tạo thêm Proxy Host cho tên miền portainer.blntech.asia. Bạn cần thay đổi lại thành tên miền cần dùng.

  • Domain Names: portainer.blntech.asia
  • Scheme: http
  • Forward Hostname / IP: nhập vào IP của máy chủ
  • Forward Port: 9000
  • Chọn thêm các mục Cache Assets, Block Common Exploits, Websockets Support

Bấm qua tab Custom locations, bấm Add location và nhập vào thông tin sau

  • Define location: /api/websocket
  • Scheme: http
  • Forward Hostname / IP: <IP-máy-chủ>/api/websocket/
  • Forward Port: 9000

Bấm tiếp qua tab SSL để tạo chứng chỉ bảo mật SSL

  • SSL Certificate: chọn Request a new SSL Certificate
  • Chọn Force SSL và HTTP/2 Support
  • Chọn I Agree to the …

Bấm Save để lưu lại

Chờ vài phút để NPM xác thực tên miền, sau đó bạn sẽ thấy tên miền portainer.blntech.asia xuất hiện trong danh sách Proxy Hosts

Truy cập vào địa chỉ https://portainer.blntech.asia, Portainer đã hoạt động

Chúc bạn thực hiện thành công!

Nguồn tham khảo: thuanbui