Reverse Proxy là gì?

Reverse proxy là một loại proxy server trung gian giữa một máy chủ và các client gửi tới các yêu cầu. Nó kiểm soát yêu cầu của các client, nếu hợp lệ, sẽ luân chuyển đến các server thích ứng. Trái ngược với một forward proxy, là một trung gian cho phép các client liên hệ với nó liên lạc với bất kỳ máy chủ ảo nào, reverse proxy là một trung gian cho các máy chủ liên hệ với nó được liên lạc bởi bất kỳ client nào. Ưu điểm lớn nhất của việc sử dụng reverse proxy là khả năng quản lý tập trung. Nó giúp kiếm soát mọi request do clieny gửi lên các server được bảo vệ.

Với Reverse Proxy thì hiện nay có nhiều giải pháp khác nhau hỗ trợ vấn đề này như thông qua: Apache, Nginx, HAProxy,..vv , nhưng có vẻ như các giải pháp kia khá phức tạp và hơi khó sử dụng với người mới bắt đầu. Nhưng không sao, ở bài viết này mình sẽ hướng dẫn các bạn cách cài đặt Reverse Proxy với một giải pháp khác đơn giản hơn, có hỗ trợ giao diện Web UI để người dùng dễ dàng thao tác, đó chính là Nginx Proxy Manager

Hướng dẫn cài đặt

Bước 1: Cài đặt Nginx Proxy Manager

Đầu tiên các bạn cần tạo thư mục chứa dự án và tạo file docker-compose.yml cho Nginx Proxy Manager với các lệnh lần lượt như sau:

mkdir /home/nginxproxymanager
cd /home/nginxproxymanager
nano docker-compose.yml

Nhập nội dung bên dưới vào và lưu lại

version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    environment:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
  db:
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
    volumes:
      - ./data/mysql:/var/lib/mysql

Kích hoạt Nginx Proxy Manager

docker-compose up -d

Bước 2: Truy cập WebUI

Truy cập vào giao diện Web UI của Nginx Proxy Manager theo liên kết

http://IP-Address:81

Sử dụng thông tin mặc định bên dưới để đăng nhập

Email:    admin@example.com
Password: changeme

Đăng nhập thành công bạn sẽ thấy giao diện với popup điền thông tin TênNicknameEmail và Password

Và sau khi điền xong các thông tin cần thiết, giao diện WebUI sẽ hiển thị đầy đủ như sau.

Ở trên là bài hướng dẫn chi tiết về Nginx Proxy Manager – Ứng dụng giúp quản lý Reverse Proxy đơn giản và hiệu quả dành cho các ứng dụng web trong Homelab mà các bạn có thể tham khảo. Với Nginx Proxy Manager thì chúng ta còn có thể làm được khá nhiều thử hay ho, nhưng mình sẽ giới thiệu đến các bạn các tính năng đó ở các bài viết sau nhé. Chúc các bạn cài đặt thành công.

Chào các bạn mình là Quốc Hùng , mình sinh ra thuộc cung song tử ,song tử luôn khẳng định chính mình ,luôn luôn phấn đấu vượt lên phía trước ,mình sinh ra và lớn lên tại vùng đất võ cổ truyền ,đam mê của mình là coder ,ngày đi học tối về viết blog ...