Bạn đã làm việc với Nginx? Bạn đã sử dụng tính năng reverse proxy cho các website bằng Nginx? Bạn có sử dụng SSL cho các cấu hình reverse proxy trong Nginx. Trong bài viết này Cloud365 sẽ giới thiệu về công cụ được chia sẻ miễn phí (sử dụng giấy phép MIT License) với nhiều tính năng hữu ích có tên là Nginx Proxy Manager. Đây chính là công cụ hỗ trợ bạn làm các công việc trên thông qua giao diện đồ họa.

Giới thiệu về tính năng

Ngoài tính năng cơ bản là khai báo các file cấu hình của nginx với mục tiêu làm reverse proxy, ứng dụng này còn cung cấp thêm nhiều tùy chọn đi kèm rất hữu ích khác thông qua tính năng vốn có của Nginx thông qua giao diện web khá bắt bắt, cụ thể là:

  • Cung cấp docker-compose để thuận tiện trong quá trình triển khai.
  • Hỗ trợ tạo các cấu hình forwarding domain, redriection, stream và các trang 404 trong các file cấu hình của Nginx thông qua giao diện web.
  • Hỗ trợ tạo các chứng chỉ SSL của Let’s Encrypt hoặc các chứng chỉ SSL tự sinh khác.
  • Hỗ trợ thiết lập Access List và HTTP Authentication cho các backend khi sử dụng Nginx làm proxy.
  • Hỗ trợ cấu hình context location trong các file cấu hình của Nginx.
  • Hỗ trợ cấu hình Cache, cấu hình nâng cao đối với Nginx.
  • Cung cấp giao diện quản lý người dụng, kiểm soát các log cấu hình với Nginx trên giao diện đồ họa.

Chi tiết về tính năng các bạn có thể tham khảo tại trang chủ của ứng dụng này: https://nginxproxymanager.jc21.com/

Mã nguồn của sản phẩm này được chia sẻ tại: https://github.com/jc21/nginx-proxy-manager

Một vài hình ảnh giới thiệu

Giao diện tổng quan khi đăng nhập vào ứng dụng.
Khai báo thêm các host sẽ sử dụng Nginx làm proxy
Tùy chọn kèm theo có sử dụng SSL cho các khai báo reverse proxy hay không
Danh sách các cấu hình reverse proxy khi sử dụng Nginx Proxy Manager khai báo
Giao diện khai báo stream khi sử dụng module stream của Nginx
Giao diện quản lý user của Nginx Proxy Manager

Cách cài đặt

Cách cài đặt của Nginx khá đơn giản nhờ vào việc đã đóng gói sẵn trong container. Bạn cần chuẩn bị một máy chủ CentOS hoặc Ubuntu với các kết nối internet cần thiết, sau đó cài đặt docker và docker-compose. Tham khảo việc cài docker và docker-compose cho CentOS7 tại đây.

Sau khi có môi trường, bạn thực hiện tải repo chứa file docker-compose.yml và thực hiện các lệnh cần thiết để cài đặt.

Sử dụng quyền root và dùng git để tải repo chứa file sử dụng cho docker-compose.

git clone https://github.com/jc21/nginx-proxy-manager.git

Di chuyển vào thư mục chứa file docker-compose.yml. Lưu ý, nếu muốn chỉnh sửa lại các tham số mặc định, hãy dùng vi để sửa các tham số nếu bạn kiểm soát tốt về container rồi.

 cd nginx-proxy-manager/doc/example/

Thực hiện pull và run các container.

docker-compose up -d

Chờ docker tải và chạy các container, sau đó kiểm tra bằng lệnh “docker ps“. Ta sẽ thấy các container và 03 port mặc định được sử dụng cho ứng dụng này, gồm: 80, 81 và 443.

Kết quả sau khi chạy lệnh docker ps

Ta sẽ sử dụng port 81 (http://dia_chi_IP:81) để truy cập vào trang quản trị của Nginx Proxy Manager. Tiếp tục khai báo các thông tin cần thiết gồm tên hiển thị, email, mật khẩu, ta sẽ có giao diện bên dưới.

Giao diện tổng quan của Nginx Proxy Manager sau khi cài đặt và khai báo.

Trên là cách cài đặt đã được kiểm chứng, bạn có thể tham khảo tài liệu cài đặt trực tiếp từ tác giả tại

Kết luận

Ứng dụng này khá phù hợp với các bạn thường xuyên sử dụng Nginx là reverse proxy cho các website, ứng dụng web hoặc cần phải cấu hình nhiều reverse proxy trên cùng một máy chủ.

Có một lời khuyên từ cloud365 khi bạn sử dụng ứng dụng này là trước đó bạn nên biết cơ bản về docker, docker-compose. Đặt biệt là bạn cần kiểm soát được các cấu hình của Nginx để khi sử dụng giao diện của Nginx Proxy Manager thì sẽ có các khai báo hợp lý.

Cám ơn bạn đã ghé thăm trang tin tức của cloud365.vn. Nếu có các góp ý hoặc muốn tham gia xây dựng cùng chúng tôi, hãy để lại comment ở phía dưới.
Cloud365