Cách Cài Đặt Nginx Proxy Manager Trên Ubuntu 20.04

Nginx Proxy Manager

Nếu bạn đang tìm kiếm một cách dễ dàng để quản lý cấu hình reverse proxy trên Ubuntu, bạn có thể cài đặt Nginx Proxy Manager trên Ubuntu. Nginx Proxy Manager là một công cụ quản lý reverse proxy cho phép bạn tạo các file cấu hình, thiết lập các ngoại lệ bảo mật, các stream và chứng chỉ SSL thông qua một giao diện web đơn giản. Trong bài viết này, bạn sẽ được hướng dẫn cách cài đặt Nginx Proxy Manager trên một máy chủ Ubuntu 20.04 chạy Docker, cung cấp cho bạn một giải pháp vững chắc để quản lý lưu lượng mạng một cách an toàn.

Yêu Cầu Tiên Quyết trước khi cài đặt Nginx Proxy

Thiết Lập Cơ Sở Dữ Liệu và Thư Mục Dữ Liệu

Tạo thư mục cho Nginx Proxy Manager tại một vị trí có thể truy cập rộng rãi, chẳng hạn như /opt.

# mkdir /opt/nginxproxymanager

Trong thư mục này, tạo một thư mục con mới có tên databases.

# mkdir /opt/nginxproxymanager/databases

Tạo một file cơ sở dữ liệu SQLite mới bằng lệnh sau:

# touch /opt/nginxproxymanager/databases/nginxproxy.db

Thoát khỏi giao diện điều khiển của SQLite bằng cách nhấn:

Control + d

Cài Đặt Nginx Proxy Manager Trên Ubuntu

Tạo một mạng Docker tùy chỉnh:

# docker network create nginxproxyman

Mạng nginxproxyman sẽ cho phép quản lý và giám sát các container được kết nối.

Sử dụng một trình soạn thảo văn bản, tạo và chỉnh sửa file docker-compose.yml trong thư mục chính /opt/nginxproxymanager:

# nano /opt/nginxproxymanager/docker-compose.yml

Nhập các cấu hình sau vào file:

version: "3"
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    container_name: 'nginxproxymanager'
    restart: unless-stopped
    ports:
      - '80:80' 
      - '443:443' 
      - '81:81' 
    environment:
      DB_SQLITE_FILE: "/data/database.sqlite"

    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

networks:
  default:
    external:
      name: nginxproxyman

Nginx Proxy Manager sẽ lắng nghe trên các cổng 80 và 443 cho lưu lượng HTTP và HTTPS tương ứng. Cổng 81 cung cấp quyền truy cập vào bảng điều khiển quản lý web. Để tăng cường bảo mật cho máy chủ, bạn có thể thay đổi cổng quản lý thành một tổ hợp ngẫu nhiên.

Lưu và đóng file.

Chuyển sang thư mục nginxproxymanager:

# cd /opt/nginxproxymanager

Cài đặt Nginx Proxy Manager bằng cách khởi động docker-compose ở chế độ nền (detached mode):

# docker-compose up -d

Xác minh rằng Nginx Proxy Manager đã được khởi động thành công:

# docker ps

Kết quả hiển thị của lệnh sẽ trông giống như ví dụ dưới đây:

CONTAINER ID   IMAGE                             COMMAND                  CREATED             STATUS             PORTS                                            NAMES
f3a37d391293   jc21/nginx-proxy-manager:latest   "/init"                  33 minutes ago      Up 33 minutes      0.0.0.0:80-81->80-81/tcp, 0.0.0.0:443->443/tcp   nginxproxymanager

Nginx

Cấu Hình Firewall

Nếu bạn sử dụng UFW (được kích hoạt mặc định), hãy cho phép các cổng truy cập sau qua máy chủ:

Cho phép HTTP:

# ufw allow 80

Cho phép HTTPS:

# ufw allow 443

Cho phép truy cập vào bảng điều khiển quản lý web của Nginx Proxy Manager:

# ufw allow 81

Thiết Lập Nginx Proxy Manager

Truy cập địa chỉ IP của máy chủ và tải bảng điều khiển quản lý web của Nginx Proxy Manager trên cổng 81:

http://Server_IP:81

Đăng nhập vào bảng điều khiển quản lý với thông tin đăng nhập sau:

Hãy thay đổi tên đăng nhập, địa chỉ email và mật khẩu mặc định của bạn để bảo mật máy chủ.

Để chuyển tiếp các yêu cầu đến ứng dụng backend, hãy gắn một container Docker vào mạng nginxproxyman của Nginx Proxy Manager. Ví dụ, lệnh dưới đây sẽ tạo một container ownCloud mới được gắn vào mạng nginxproxyman:

# docker run --network nginxproxyman --name owncloud -d owncloud:latest

Truy cập bảng điều khiển web của Nginx Proxy Manager và điều hướng tới mục Hosts trong menu chính.

Nhấn Add Proxy Host để nhập tên miền, chọn giữa giao thức HTTP hoặc HTTPS, thiết lập tên container đích trong trường Forward Name/IP và bật Save để tiếp tục.
Nginx Proxy Manager

Truy cập tên miền của bạn để xác nhận thay đổi và bắt đầu sử dụng ứng dụng:

http://example.com

Các Bước Tiếp Theo

Bạn đã cài đặt thành công Nginx Proxy Manager trên Ubuntu 20.04 và thiết lập ownCloud làm ứng dụng backend được gắn vào mạng Docker. Để biết thêm thông tin, hãy tham khảo các bài viết sau:

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *