Net BasicsSố chữ 2386Thời gian đọc6 phút

Tên miền tìm đến VPS như thế nào: Nhập môn DNS, HTTPS và Reverse Proxy

Hướng dẫn người mới về mối liên hệ giữa tên miền, bản ghi DNS (A/AAAA), cổng mạng, reverse proxy, chứng chỉ TLS và HTTPS để chuyển tiếp yêu cầu từ trình duyệt đến ứng dụng trên VPS.

Chạy curl http://127.0.0.1:3000 trên VPS và nhận được mã HTML chứng minh ứng dụng đang chạy tốt cục bộ. Tuy nhiên, để người dùng bên ngoài truy cập qua https://example.com, bạn cần xâu chuỗi tên miền, DNS, cổng mạng, Reverse Proxy và mã hóa HTTPS thành một chuỗi liền mạch.

Các khái niệm này thường xuất hiện cùng nhau nhưng đảm nhận những vai trò hoàn toàn riêng biệt.

1. Luồng đi hoàn chỉnh của một yêu cầu web

Người dùng nhập tên miền trên trình duyệt
  ↓ Truy vấn DNS
Nhận địa chỉ IP máy chủ
  ↓ Bắt tay TCP 443 + TLS
Kết nối đến Reverse Proxy trên VPS
  ↓ Chuyển tiếp nội bộ đến 127.0.0.1:3000
Ứng dụng backend trả về trang web

Phân vai và so sánh thực tế:

Thành phầnSo sánhNhiệm vụ thực tế
Tên miềnBiển hiệu dễ nhớCung cấp định danh thân thiện và bền vững cho website
DNSDanh bạ điện thoạiPhân giải tên miền thành địa chỉ IP và các bản ghi
Địa chỉ IPĐịa chỉ tòa nhàĐịnh danh máy chủ hoặc giao diện mạng trên Internet
Cổng (Port)Số phòng trong tòa nhàĐịnh tuyến kết nối đến đúng dịch vụ mạng đang chờ
Reverse ProxyQuầy lễ tân tòa nhàNhận yêu cầu từ bên ngoài và phân phối cho ứng dụng bên trong
Chứng chỉ TLSThẻ căn cước xác thựcCho phép client xác thực danh tính tên miền và mã hóa kết nối

DNS không lưu trữ hay truyền tải trang web, và chứng chỉ TLS cũng không "trỏ" tên miền về máy chủ. Mỗi lớp cần được cấu hình và kiểm tra độc lập.

2. Các loại bản ghi DNS phổ biến

Bản ghiMục đích chínhLưu ý cho người mới
ATrỏ tên miền đến địa chỉ IPv4Cần cập nhật khi IP máy chủ thay đổi
AAAATrỏ tên miền đến địa chỉ IPv6Không cấu hình nếu máy chủ chưa hỗ trợ IPv6 hoàn chỉnh
CNAMETạo bí danh trỏ tên miền này sang tên miền khácThường không áp dụng được trực tiếp cho tên miền gốc (Zone Apex)
TXTLưu trữ văn bản xác thực tên miền, cấu hình SPFKhông dán các giá trị xác thực không rõ nguồn gốc

Ví dụ, muốn www.example.com trỏ về VPS có IPv4 công cộng, bạn thêm bản ghi A.

Thay đổi trên DNS không có hiệu lực tức thì trên toàn cầu. Các máy chủ DNS đệm và thiết bị người dùng sẽ lưu cache theo giá trị TTL (Time to Live). Khi chuẩn bị chuyển máy chủ, hãy giảm TTL trước vài ngày.

3. Vì sao Reverse Proxy lại cần thiết

Một VPS thường chạy nhiều dịch vụ cùng lúc:

blog.example.com  → 127.0.0.1:3000
api.example.com   → 127.0.0.1:4000

Reverse Proxy (như Nginx, Caddy) lắng nghe cổng 80/443 công cộng và phân phối yêu cầu đến đúng ứng dụng nội bộ dựa trên tên miền được gọi (Host header). Nó đảm nhận việc giải mã TLS, ghi log truy cập, nén dữ liệu và giới hạn tần suất truy cập.

Nhờ đó, các ứng dụng backend không cần chạy quyền root để chiếm giữ các cổng thấp và dễ dàng phân lớp kiểm tra:

  • Kiểm tra ứng dụng chạy tốt trên localhost trước;
  • Kiểm tra cấu hình chuyển tiếp của Reverse Proxy;
  • Cuối cùng kiểm tra phân giải DNS và truy cập HTTPS từ ngoài.

4. HTTPS thực sự bảo vệ điều gì

HTTPS là giao thức HTTP chạy trên kênh truyền TLS được mã hóa. Khi hoạt động bình thường, nó đảm bảo:

1. Xác thực: Trình duyệt xác nhận chứng chỉ khớp với đúng tên miền; 2. Bảo mật: Dữ liệu truyền đi được mã hóa, chống nghe lén; 3. Toàn vẹn: Phát hiện ngay lập tức nếu dữ liệu bị thay đổi trên đường truyền.

Các tổ chức cấp chứng chỉ như Let’s Encrypt tự động cấp phát và gia hạn chứng chỉ qua giao thức ACME. Các phương thức thử thách sở hữu tên miền:

  • HTTP-01: Kiểm tra qua việc đặt file trên web (yêu cầu cổng 80 công cộng mở);
  • DNS-01: Kiểm tra qua bản ghi TXT trên DNS (không yêu cầu mở cổng 80 hay 443);
  • TLS-ALPN-01: Kiểm tra qua bắt tay TLS đặc biệt trên cổng 443.

Các trang web thông thường chủ yếu sử dụng HTTP-01.

5. Quy trình triển khai web server chuẩn cho người mới

1. Khởi chạy ứng dụng trên VPS, đảm bảo chỉ lắng nghe trên localhost (127.0.0.1); 2. Kiểm tra phản hồi ứng dụng nội bộ bằng lệnh curl -I http://127.0.0.1:3000; 3. Cài đặt và cấu hình Reverse Proxy từ kho phần mềm chính thức; 4. Kiểm tra cú pháp cấu hình Reverse Proxy trước khi khởi động; 5. Thêm bản ghi DNS chính xác và kiểm tra phân giải qua DNS công cộng; 6. Mở cổng tường lửa cần thiết (phải mở cổng 80 khi dùng xác thực HTTP-01); 7. Dùng ACME client tin cậy để cấp chứng chỉ TLS; 8. Truy cập thử bằng HTTPS từ thiết bị mạng ngoài để kiểm tra chứng chỉ và nội dung; 9. Kiểm tra lịch chạy tự động gia hạn chứng chỉ.

6. Hướng dẫn gỡ lỗi theo từng tầng

Tên miền phân giải về IP máy chủ cũ

Kiểm tra bản ghi DNS có thẩm quyền, giá trị TTL và bộ nhớ cache cục bộ. Đừng cài lại web server khi yêu cầu chưa hề chạm tới VPS mới.

IPv4 vào được nhưng một số thiết bị không mở được trang

Kiểm tra xem có bản ghi AAAA bị sai không. Thiết bị hỗ trợ IPv6 sẽ ưu tiên IPv6; nếu cấu hình máy chủ chưa xong, kết nối sẽ bị timeout.

Reverse Proxy báo lỗi 502 Bad Gateway

Proxy nhận được yêu cầu nhưng không kết nối được tới backend. Kiểm tra tiến trình backend, địa chỉ bind, cổng và kết quả curl nội bộ.

Cấp phát chứng chỉ ACME thất bại

Xem log lỗi: HTTP-01 kiểm tra cổng 80, DNS-01 kiểm tra bản ghi TXT và quyền API, TLS-ALPN-01 kiểm tra cổng 443; đồng thời kiểm tra đồng bộ thời gian máy chủ (NTP).

HTTPS chạy tốt nhưng cổng backend cũng bị lộ ra ngoài

Kiểm tra xem ứng dụng có đang lắng nghe trên 0.0.0.0 và tường lửa có đang mở cổng đó không. Ứng dụng backend nên bind vào 127.0.0.1.

7. Tổng kết

Tên miền, DNS, HTTPS và Reverse Proxy là các mắt xích trong một chuỗi cung ứng: DNS chỉ đường đến IP, mạng chuyển gói tin đến cổng 443, TLS thiết lập kênh mã hóa và Reverse Proxy bàn giao yêu cầu cho ứng dụng xử lý.

Câu hỏi thường gặp (FAQ)

Không có tên miền, chỉ có địa chỉ IP có dùng HTTPS được không?

Có chứng chỉ cấp cho IP trong các tình huống doanh nghiệp đặc thù, nhưng trang web cá nhân luôn dùng chứng chỉ tên miền để tiện di dời máy chủ sau này.

Bật proxy CDN của Cloudflare thì chuỗi kết nối thay đổi ra sao?

Người dùng kết nối tới máy chủ biên của CDN trước, rồi CDN kết nối về VPS gốc của bạn. Xuất hiện thêm một lớp đệm về bộ nhớ cache, SSL và cấu hình tường lửa.

Chứng chỉ cấp xong có cần theo dõi nữa không?

Có. Chứng chỉ miễn phí ngắn hạn phụ thuộc vào cron job gia hạn tự động, cần theo dõi định kỳ để tránh hết hạn bất ngờ.

Tài liệu tham khảo

Share

Chia sẻ bài viết