Bạn đã triển khai LobeChat và đang sử dụng các tính năng chat và voice mạnh mẽ của nó, nhưng mỗi lần truy cập phải nhập một chuỗi địa chỉ IP và cổng dài dòng? Hoặc bạn muốn có một đường dẫn riêng cho trợ lý AI của mình, chẳng hạn như troly-ai.congtendomain.com, trông chuyên nghiệp và dễ nhớ hơn?
Trong bài viết này, tôi sẽ hướng dẫn bạn từng bước cấu hình domain cho LobeChat, giúp bạn có thể truy cập phòng chat AI cá nhân thông qua URL tùy chỉnh. Toàn bộ quá trình đơn giản như việc đặt biển số nhà vậy, chỉ cần làm theo các bước, khoảng 10 phút là hoàn thành.
1. Tại sao cần cấu hình domain tùy chỉnh?
Trước khi bắt đầu, chúng ta cùng xem tại sao việc này đáng để bạn dành 10 phút thực hiện.
- Tiện lợi và dễ nhớ: So với địa chỉ
192.168.1.100:3210thìai.congtendomain.comhaychat.congtendoanhnghiep.comdễ nhớ hơn nhiều, cũng thuận tiện hơn khi chia sẻ cho các thành viên trong nhóm. - Nâng cao tính chuyên nghiệp: Cho dù là dự án cá nhân hay công cụ nội bộ của nhóm, một domain riêng clean đều tạo ấn tượng chính thức và đáng tin cậy hơn.
- Chuẩn bị cho HTTPS: Cấu hình domain là tiền đề cần thiết để sau đó cấu hình chứng chỉ SSL cho dịch vụ LobeChat (tức bật truy cập an toàn
https://). Có HTTPS, nội dung giao tiếp sẽ được mã hóa, an toàn hơn. - Ẩn chi tiết server: Việc để lộ trực tiếp IP và cổng có thể tiềm ẩn một số rủi ro bảo mật, truy cập qua domain có thể giúp che giấu phần nào.
Nói ngắn gọn, cấu hình domain là bước chuyển từ "truy cập tạm thời" sang "khai thác chính thức". Dưới đây, chúng ta sẽ thực hiện hai bước: chuẩn bị domain trước, sau đó cấu hình server.
2. Bước 1: Chuẩn bị Domain và cấu hình DNS
Giả sử bạn đã có một domain (ví dụ congtendomain.com). Nếu chưa có, bạn có thể mua từ bất kỳ nhà đăng ký domain nào (như Cloudflare, Namecheap, GoDaddy...) rất đơn giản.
Mục tiêu của chúng ta là trỏ một subdomain (như troly-ai.congtendomain.com) đến địa chỉ IP công cộng của server chạy LobeChat.
2.1 Lấy địa chỉ IP công cộng của server
Trước tiên, bạn cần biết địa chỉ IP công cộng của server.
- Nếu bạn sử dụng cloud server (như AWS EC2, Google Cloud, DigitalOcean...), có thể tìm thấy IP công cộng trong trang quản lý server.
- Nếu bạn triển khai trong mạng nội bộ và muốn truy cập từ internet, cần có IP công cộng (thường phải liên hệ nhà mạng để xin) và cấu hình NAT hoặc reverse proxy. Phần này liên quan đến cấu hình mạng, bài viết này tập trung vào việc cấu hình domain.
Giả sử IP công cộng bạn lấy được là: 111.111.111.111.
2.2 Thêm bản ghi DNS
Đăng nhập vào trang quản lý domain hoặc dịch vụ DNS của bạn, tìm phần cấu hình DNS (thường gọi là "DNS Management", "Zone Editor"...).
Bạn cần thêm một bản ghi A Record:
- Record Type: Chọn
A. - Host Record: Nhập tiền tố subdomain bạn muốn. Ví dụ, nếu muốn dùng
troly-ai.congtendomain.com, nhậptroly-ai. Nếu muốn dùng domain gốccongtendomain.com, nhập@hoặc để trống (tùy nhà cung cấp). - Value/Points to: Nhập địa chỉ IP công cộng của server, tức
111.111.111.111. - TTL: Để mặc định, thường là 600 giây (10 phút) hoặc 3600 giây (1 giờ).
Lưu ý quan trọng: DNS cần thời gian để phân giải, thường từ vài phút đến vài giờ. Bạn có thể mở terminal (cmd hoặc PowerShell trên Windows, Terminal trên Mac/Linux), gõ ping troly-ai.congtendomain.com để kiểm tra. Khi thấy IP trả về là IP server bạn đã cài đặt, có nghĩa là DNS đã hoạt động.
3. Bước 2: Cấu hình Web Server (Nginx Reverse Proxy)
Giờ đây, domain đã trỏ đến IP server. Nhưng dịch vụ LobeChat đang chạy trên một cổng nào đó (mặc định là 3210). Chúng ta cần một "lễ tân" (web server) để nhận các yêu cầu từ domain và chuyển tiếp đến dịch vụ LobeChat. Ở đây chúng ta sử dụng Nginx phổ biến nhất.
3.1 Cài đặt Nginx
Chạy lệnh cài đặt trên server (ví dụ với Ubuntu/Debian):
sudo apt update
sudo apt install nginx -y
Sau khi cài đặt, Nginx sẽ tự động khởi động. Bạn có thể truy cập qua IP server trong trình duyệt, nếu thấy trang welcome của Nginx thì cài đặt thành công.
3.2 Cấu hình Reverse Proxy
File cấu hình site của Nginx thường nằm trong thư mục /etc/nginx/sites-available/. Chúng ta sẽ tạo file cấu hình mới cho LobeChat.
Tạo file cấu hình:
sudo nano /etc/nginx/sites-available/lobechat
Nội dung file cấu hình: Dán cấu hình dưới đây. Hãy thay troly-ai.congtendomain.com thành domain của bạn, và http://localhost:3210 thành địa chỉ và cổng mà LobeChat đang lắng nghe (nếu bạn đã thay đổi cổng mặc định).
server {
listen 80;
server_name troly-ai.congtendomain.com;
location / {
proxy_pass http://localhost:3210;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Cau hinh ho tro WebSocket (neu LobeChat can)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
# Gioi han kich thuoc file tai len tuy chinh
client_max_body_size 100M;
}
Chức năng chính của cấu hình này: khi có ai đó truy cập http://troly-ai.congtendomain.com, Nginx sẽ chuyển tiếp yêu cầu đến ứng dụng LobeChat đang chạy trên cổng 3210 của máy local, sau đó trả kết quả cho người dùng.
Lưu và thoát khỏi editor (trong nano nhấn Ctrl+X, sau đó Y, rồi Enter).
3.3 Kích hoạt cấu hình và kiểm tra
Tạo symlink đến thư mục sites-enabled:
sudo ln -s /etc/nginx/sites-available/lobetchat /etc/nginx/sites-enabled/
Kiểm tra cú pháp cấu hình Nginx:
sudo nginx -t
Nếu thấy thông báo syntax is ok và test is successful, có nghĩa cấu hình đúng.
Reload Nginx để áp dụng cấu hình:
sudo systemctl reload nginx
4. Hoàn tất và kiểm tra
Giờ tất cả cấu hình đã xong. Mở trình duyệt, nhập domain bạn đã cấu hình, ví dụ http://troly-ai.congtendomain.com.
Bạn sẽ thấy giao diện quen thuộc của LobeChat! Điều này có nghĩa là cấu hình domain và reverse proxy đã thành công. Giờ bạn có thể chọn model (như qwen-8b mặc định) và bắt đầu trò chuyện như trước, nhưng tất cả đều thông qua domain mới.
Chúc mừng! Trợ lý chat AI cá nhân của bạn giờ đã có một "địa chỉ nhà" riêng, dễ truy cập.
5. Tổng kết và gợi ý tiếp theo
Nhìn lại, chúng ta đã hoàn thành hai việc chính:
- Cấu hình DNS: Tại nhà cung cấp DNS, trỏ subdomain đến IP server.
- Cấu hình server: Cài đặt Nginx trên server và cấu hình quy tắc reverse proxy, chuyển tiếp các yêu cầu HTTP từ domain đến dịch vụ LobeChat local.
Quy trình này không chỉ áp dụng cho LobeChat, mà còn là cách chuẩn để cấu hình domain cho bất kỳweb service tự xây dựng nào.
Gợi ý cho bạn:
- Bật HTTPS (khuyến nghị mạnh): Hiện tại chúng ta dùng HTTP. Để bảo mật, bạn nên xin chứng chỉ SSL (có thể dùng Let's Encrypt miễn phí, qua công cụ Certbot để tự động cấu hình), nâng cấp từ
http://lênhttps://. Cấu hình Nginx cần đổi từ port 80 sang port 443 và tải chứng chỉ. - Cấu hình tường lửa: Đảm bảo security group hoặc firewall của server cho phép traffic vào port 80 (HTTP) và/hoặc 443 (HTTPS), đồng thời có thể cân nhắc không để port gốc của LobeChat (như 3210) exposed ra internet.
- Quản lý nhiều dịch vụ: Nếu bạn triển khai nhiều ứng dụng trên cùng server, Nginx có thể phân luồng theo từng
server_name(domain) khác nhau đến các backend service tương ứng, rất tiện lợi.
Giờ thì hãy tận hưởng sự tiện lợi khi truy cập LobeChat qua domain tùy chỉnh đi! Dù là tự sử dụng hay chia sẻ cho bạn bè, đồng nghiệp đều tiện lợi và thanh lịch hơn.