[Info] Hướng dẫn cài đặt Nginx Proxy Manager và thiết lập bảo mật trang đăng nhập

Hướng dẫn cài đặt Nginx Proxy Manager và thiết lập bảo mật trang đăng nhập trên VPS Linux

Nginx Proxy Manager (NPM) là một hệ thống quản lý proxy ngược chạy trên Docker. NPM sử dụng Nginx và cung cấp cho người dùng trình quản lý thông qua giao diện web, giúp người dùng quản lý dễ dàng và hiệu quả hơn.

Trong bài này HOSTVN Chúng tôi sẽ hướng dẫn bạn cài đặt Nginx Proxy Manager và thiết lập bảo mật trang đăng nhập trên Ubuntu.

1. Nginx Proxy Manager là gì?

Nginx Proxy Manager (NPM) là một hệ thống quản lý proxy ngược chạy trên Docker. NPM sử dụng Nginx làm máy chủ proxy. Ngoài việc cấu hình máy chủ Proxy, nó còn cho phép bạn định cấu hình miền chuyển hướng, kích hoạt và tự động gia hạn SSL Let’s Encrypt. NPM rất phù hợp nếu bạn đang tìm kiếm giải pháp máy chủ proxy phía trước máy chủ phụ trợ của mình.

2. Cài đặt Nginx Proxy Manager và thiết lập bảo mật trang đăng nhập

Lời yêu cầu

VPS sử dụng hệ điều hành Linux, trong bài viết này HOSTVN sẽ hướng dẫn bạn cài đặt trên Ubuntu 20.04.

2.1. Bước 1: Cài đặt Docker

Vì NPM chạy trên Docker, điều đầu tiên bạn cần làm là cài đặt Docker và Docker Compose trên VPS của bạn. Để cài đặt Docker, bạn chỉ cần chạy lần lượt các lệnh sau

sudo apt-get remove docker docker-engine docker.io containerd runc

sudo apt-get update -y

sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release wget -y

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update -y

sudo apt-get install docker-ce docker-ce-cli containerd.io -y

Sau khi cài đặt Docker hoàn tất, hãy cài đặt Docker Compose bằng cách chạy các lệnh sau

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

Vậy là bạn đã cài đặt xong Docker và Docker Compose trên VPS của mình, hãy chuyển sang bước tiếp theo để cài đặt NPM trên VPS.

2.2. Bước 2: Cài đặt Nginx Proxy Manager

Để cài đặt Nginx Proxy Manager trước tiên bạn cần tạo một file docker-compac.yml trong bài viết này HOSTVN sẽ sử dụng nano để tạo file. Nếu bạn chưa biết cách sử dụng nano, hãy tham khảo Hướng dẫn sử dụng Nano trên Linux

nano docker-compose.yml

Tiếp theo dán nội dung sau vào tệp

version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    environment:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "SECURE_PASSWORD"
      DB_MYSQL_NAME: "npm"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
  db:
    image: 'jc21/mariadb-aria:latest'
    environment:
      MYSQL_ROOT_PASSWORD: 'SECURE_PASSWORD'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'SECURE_PASSWORD'
    volumes:
      - ./data/mysql:/var/lib/mysql
  • Ghi chú: Vui lòng thay đổi SECURE_PASSWORD với mật khẩu mạnh bao gồm số, chữ thường, chữ hoa và ký tự đặc biệt.

Tiếp theo nhấn tổ hợp phím Ctrl + o để lưu tệp và Ctrl + x để thoát khỏi nano. Để cài đặt NPM, hãy chạy lệnh sau và đợi quá trình cài đặt hoàn tất

docker-compose up -d

cai-dat-nginx-proxy-manager

2.3. Bước 3: Mở cổng trên Tường lửa

Nếu VPS của bạn đang sử dụng Firewall, bạn cần mở cổng 81 để có thể truy cập trang quản trị. Trong bài viết này VPS Ubuntu sử dụng tường lửa UFW nên sẽ cần chạy lệnh sau để mở cổng

ufw allow 81/tcp

2.4. Bước 4: Bảo mật trang đăng nhập

Sau khi cài đặt NPM xong, bạn có thể đăng nhập vào trang quản trị bằng đường dẫn: ip-vps: 81 với thông tin đăng nhập mặc định như sau (Thông tin này sẽ có thể thay đổi sau khi đăng nhập thành công)

Email:    [email protected]
Password: changeme

Tuy nhiên, để bảo mật hơn trong bài viết này HOSTVN sẽ hướng dẫn các bạn thiết lập lớp đăng nhập thứ 2 cho trang Admin của NPM. Đầu tiên bạn cần xác định ID vùng chứa của NPM bằng cách chạy lệnh sau

docker ps

ID vùng chứa

Như trong hình, chúng ta sẽ có ID vùng chứa là e034e50447fb (ID này khác nhau với mỗi lần cài đặt, vì vậy bạn cần thay thế bằng ID của riêng mình). Sau khi nó đã được xác định ID vùng chứa tiến hành copy file cấu hình ra bên ngoài để chỉnh sửa bằng lệnh sau

docker cp e034e50447fb:/etc/nginx/conf.d/production.conf data

Mở tệp production.conf trong nano

nano data/production.conf

và thêm 2 dòng sau

auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;

production.conf

Tiếp theo, chúng ta sẽ cần tạo tệp .htpasswd chứa thông tin đăng nhập cho lớp đăng nhập thứ 2. Để tạo .htpasswd bạn chạy 2 lệnh sau

sudo apt-get install apache2-utils
htpasswd -b -c .htpasswd USER SECURE_PASSWORD

Thay thế NGƯỜI SỬ DỤNGSECURE_PASSWORD với người dùng đăng nhập và mật khẩu bạn muốn sử dụng. Cuối cùng sao chép tệp production.conf và các tập tin .htpasswd vào Container

docker cp data/production.conf e034e50447fb:/etc/nginx/conf.d/
docker cp .htpasswd e034e50447fb:/etc/nginx/

Tiến hành tải lại nginx

docker exec e034e50447fb service nginx reload

Tiếp theo, bạn có thể thử truy cập vào bài test để kiểm tra kết quả

đăng nhập

3. Liên kết tham khảo

4. Kết luận

Qua bài đăng này HOSTVN Tôi đã chỉ cho bạn cách cài đặt nó Trình quản lý proxy Nginx và thiết lập bảo mật trang đăng nhập. Nếu có ý kiến ​​đóng góp, bạn có thể để lại bình luận bên dưới. Ngoài ra, bạn có thể xem thêm các bài viết về VPS tại đây.

Viết một bình luận

bahis10bets.com betvole1.com casinomaxi-giris.com interbahis-giris1.com klasbahis1.com mobilbahisguncelgiris1.com piabetgiris1.com tipobettgiris.com tumbetgiris1.com betboro 1xbet giriş
bahis10bets.com betvole1.com casinomaxi-giris.com interbahis-giris1.com klasbahis1.com mobilbahisguncelgiris1.com piabetgiris1.com tipobettgiris.com tumbetgiris1.com betboro 1xbet giriş
antalya bayan escort
antalya bayan escort
antalya bayan escort