Thêm Website Node.js vào ServBay bằng Reverse Proxy
ServBay là một môi trường phát triển web toàn diện trên local, hỗ trợ đa công nghệ, bao gồm cả Node.js. Bài viết này sẽ hướng dẫn chi tiết cách sử dụng chức năng reverse proxy để tích hợp ứng dụng Node.js do bạn tự triển khai vào hệ thống quản lý website của ServBay. Nhờ đó, bạn có thể dễ dàng sử dụng cổng truy cập duy nhất của ServBay (như tên miền tùy chỉnh, SSL certificate) để truy cập và quản lý dự án Node.js trên môi trường phát triển của mình.
Tổng quan
Mặc dù ServBay cho phép bạn chạy trực tiếp ứng dụng Node.js (ví dụ cài Node.js từ ServBay package và chạy script), việc tích hợp một ứng dụng Node.js đang lắng nghe trên một port riêng biệt vào ServBay thông qua reverse proxy là một giải pháp linh hoạt và thường được sử dụng. Cách này cho phép bạn tận dụng khả năng cấu hình mạng mạnh mẽ của ServBay (ví dụ phân giải tên miền, SSL/TLS) để quản lý việc truy cập vào dự án Node.js. Bài viết sẽ từng bước hướng dẫn bạn thực hiện cấu hình này.
Điều kiện cần
Trước khi bắt đầu, hãy đảm bảo rằng:
- ServBay đã được cài đặt thành công trên macOS của bạn.
- Dự án Node.js của bạn đang chạy local và lắng nghe trên một port cụ thể (ví dụ:
8585
).
Các bước thực hiện
Bước 1: Chạy dự án Node.js
Trước tiên, đảm bảo dự án Node.js của bạn đã được khởi động và lắng nghe trên port mong muốn. Dùng bất kỳ phương pháp quen thuộc nào để chạy ứng dụng Node.js.
Giả sử bạn đang chạy một server phát triển cho dự án Vue.js và nó sử dụng port 8585
:
$ npm run dev -- --port 8585
Server running at http://localhost:8585/
2
Hãy ghi chú lại địa chỉ IP (thường là 127.0.0.1
) và port mà ứng dụng Node.js đang sử dụng.
Bước 2: Mở giao diện quản lý ServBay
Trong thư mục Ứng dụng trên macOS, tìm biểu tượng ServBay
và nhấp đúp để khởi động ứng dụng.
Bước 3: Truy cập Quản lý Website
Sau khi khởi động, giao diện chính của ServBay sẽ xuất hiện. Trên menu điều hướng bên trái, nhấp vào Website để qua trang quản lý website, nơi bạn có thể quản lý tất cả các website được host hoặc được proxy bởi ServBay.
Bước 4: Thêm website mới
Ở cuối trang quản lý website, tìm và nhấp vào nút +
. Một khu vực nhập thông tin sẽ xuất hiện giúp bạn cấu hình website mới.
5: Cấu hình thông tin website
Ở form thêm website mới, bạn cần nhập các thông tin quan trọng để cấu hình reverse proxy:
- Tên (Name): Đặt tên dễ nhận biết cho website của bạn, ví dụ
My Node.js App
. Chỉ dùng để hiển thị trong giao diện ServBay. - Tên miền (Domain): Nhập tên miền local mà bạn muốn dùng để truy cập ứng dụng Node.js này trên trình duyệt. Nên sử dụng hậu tố
.servbay.demo
theo khuyến nghị từ ServBay, ví dụ:nodejs.servbay.demo
. ServBay sẽ tự động cấu hình DNS local trỏ về127.0.0.1
. - Giao thức (Protocol): Chọn giao thức mà website hỗ trợ, thông thường giữ mặc định là
HTTP/HTTPS
. ServBay sẽ lắng nghe cả port HTTP và HTTPS. - Phương thức cấp chứng chỉ SSL (SSL Certificate Method): Để phát triển local, nên chọn
ServBay CA
. ServBay sẽ tự động sinh và cài đặt chứng chỉ SSL từ CA gốc do ServBay cung cấp. Sau khi cài chứng chỉ CA của ServBay vào hệ thống và trình duyệt, bạn sẽ không gặp cảnh báo certificate khi truy cập HTTPS. Ngoài ra, có thể chọnServBay Public CA
hoặcACME
(cho trường hợp cần chứng chỉ công khai), nhưng thường dùng khi cần truy cập từ ngoài mạng nội bộ. - Loại website (Site Type): Bắt buộc chọn
Reverse Proxy (Phản chiếu ngược)
. Tùy chọn này giúp ServBay chuyển tiếp toàn bộ request đến domain đó sang nơi khác thay vì phục vụ từ file hệ thống. - Địa chỉ IP (IP Address): Nhập địa chỉ IP mà ứng dụng Node.js của bạn đang lắng nghe. Đa số trường hợp dùng
127.0.0.1
(localhost). - Port: Nhập port ứng dụng Node.js, ví dụ
8585
. ServBay sẽ forward toàn bộ request nhận được đến127.0.0.1:8585
.
Bước 6: Lưu và hoàn tất
Sau khi nhập đầy đủ thông tin, nhấn nút Add (Thêm)
bên dưới form để lưu cấu hình. ServBay sẽ lưu các thiết lập này và tự động cập nhật cấu hình bên trong (ví dụ: web server, DNS, ...).
Khi lưu thành công, bạn sẽ thấy website mới (nodejs.servbay.demo
) xuất hiện trong danh sách website của ServBay. Bây giờ, bạn đã có thể truy cập ứng dụng Node.js qua tên miền vừa cấu hình trên browser (ví dụ: http://nodejs.servbay.demo
hoặc https://nodejs.servbay.demo
). Nhấp vào biểu tượng trình duyệt cạnh tên website để mở nhanh.
Bước 7: Các thao tác nhanh
ServBay cung cấp loạt thao tác nhanh cho từng website, nằm ở bên phải danh sách website:
- Mở thư mục gốc bằng IDE: Với reverse proxy, nút này có thể không tự động dẫn đến thư mục dự án Node.js mà mở sang thư mục mặc định của ServBay tại
/Applications/ServBay/www
hoặc thư mục được cấu hình riêng. - Mở website trên trình duyệt: Truy cập nhanh URL trang web bằng trình duyệt mặc định.
- Xem logs website: Xem access log & error log của web server (Caddy hoặc Nginx) cho website này — cực kỳ hữu ích để debug.
- Tạm dừng/kích hoạt website: Tạm thời ngắt/bật quyền truy cập website này.
- Xóa website: Xóa cấu hình website khỏi ServBay.
Câu hỏi thường gặp (FAQ)
- Truy cập tên miền hiển thị trang mặc định của ServBay hoặc báo lỗi?
- Kiểm tra chắc chắn ứng dụng Node.js của bạn đang chạy đúng IP và port.
- Đối chiếu IP và port cấu hình trên ServBay khớp hoàn toàn với port & IP mà ứng dụng Node.js lắng nghe.
- Đảm bảo ServBay đang chạy.
- Nếu sử dụng domain
.servbay.demo
, kiểm tra dịch vụ DNS của ServBay đang hoạt động và hệ thống mạng cho phép ServBay quản lý giải tên miền.servbay.demo
.
- Truy cập HTTPS bị cảnh báo chứng chỉ?
- Nếu chọn
ServBay CA
, hãy đảm bảo bạn đã cài đặt và tin cậy CA của ServBay trên hệ thống & trình duyệt. ServBay có hướng dẫn cài vô cùng thuận tiện. - Nếu dùng
ServBay Public CA
hoặcACME
, xác nhận certificate đã được phát & cấu hình đúng.
- Nếu chọn
Tổng kết
Với reverse proxy, ServBay cung cấp một phương thức linh hoạt để tích hợp và quản lý các ứng dụng Node.js đang chạy local. Bạn có thể tận hưởng các chức năng mạnh mẽ như tên miền tùy chỉnh, quản lý SSL tự động… giúp dự án Node.js phát triển có một cổng truy cập nhất quán và thuận tiện. Thực hiện theo hướng dẫn trên, bạn sẽ dễ dàng thiết lập và truy cập website Node.js ngay trong môi trường ServBay.