IPv6 hosting chỉ thực sự sẵn sàng khi người dùng có kết nối IPv6 có thể phân giải tên miền, thiết lập kết nối HTTPS và tải đầy đủ website mà không gặp lỗi. Việc thêm một địa chỉ IPv6 hoặc tạo DNS AAAA record mới chỉ là bước đầu. Bạn còn phải kiểm tra web server, tường lửa, CDN, hệ thống email, ứng dụng và công cụ giám sát.
Mô hình nên ưu tiên hiện nay là dual-stack: duy trì IPv4 và IPv6 song song thay vì xóa IPv4 ngay. IPv6 sử dụng địa chỉ dài 128 bit, trong khi IPv4 sử dụng địa chỉ 32 bit (theo IETF). Vì vậy, mục tiêu thực tế không phải “chuyển website sang IPv6 trong một lần”, mà là bổ sung đường truy cập IPv6 có kiểm soát.
IPv6 hosting khác gì IPv4 và IPv6 hosting?
Với IPv4 và IPv6 hosting, nhà cung cấp gán cho máy chủ ít nhất một địa chỉ IPv4 và một dải hoặc địa chỉ IPv6 công khai. Website có thể được truy cập bằng bản ghi A qua IPv4 và bản ghi AAAA qua IPv6. Nếu chỉ có IPv4, website vẫn hoạt động với phần lớn người dùng nhưng không thể phục vụ trực tiếp các mạng IPv6-only nếu không qua cơ chế chuyển đổi như NAT64.
| Hạng mục | Chỉ IPv4 | Dual-stack IPv4 và IPv6 | Điều cần kiểm tra |
|---|---|---|---|
| Địa chỉ máy chủ | Có A | Có A và AAAA | IPv6 phải là địa chỉ công khai, đúng máy chủ |
| DNS | Chỉ truy vấn A | Truy vấn A và AAAA | Không tạo AAAA nếu máy chủ chưa nghe IPv6 |
| Web server | Listen trên IPv4 | Listen trên IPv4 và IPv6 | Kiểm tra cổng 80, 443 |
| Tường lửa | Luật IPv4 | Luật IPv4 và IPv6 riêng | Không mặc định rằng luật IPv4 áp dụng cho IPv6 |
| CDN | Khách truy cập qua IPv4 | Khách có thể vào CDN qua IPv6 | Kiểm tra CDN kết nối origin bằng giao thức nào |
| Ứng dụng | Ít thay đổi định dạng IP | Có thể nhận địa chỉ IPv6 dài | Kiểm tra log, whitelist, chống gian lận |
Không nên đánh giá hosting chỉ bằng quảng cáo “hỗ trợ IPv6”. Hãy hỏi rõ: IPv6 có được định tuyến ra Internet không, có dùng được cho tên miền chính không, nhà cung cấp có hỗ trợ reverse DNS không, firewall có quản lý riêng cho IPv6 không và hệ thống backup, giám sát có nhận diện IPv6 hay chưa.
Checklist cấu hình IPv6 cho website

1. Xác nhận địa chỉ IPv6 và dịch vụ mạng
Trước tiên, lấy địa chỉ IPv6 từ bảng điều khiển hosting hoặc hệ điều hành. Trên Linux, bạn có thể chạy:
ip -6 address
ip -6 route
ping6 -c 4 2001:4860:4860::8888
Kết quả cần cho thấy card mạng có địa chỉ toàn cục, tuyến mặc định IPv6 và khả năng đi ra Internet. Địa chỉ bắt đầu bằng fe80:: chỉ là link-local, không phù hợp để công khai website. Không dùng địa chỉ ví dụ thuộc dải tài liệu 2001:db8::/32 trong môi trường thật.
2. Cho web server lắng nghe IPv6
Với Nginx, cấu hình thường có dạng:
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name example.com www.example.com;
}
Apache có thể cần bật lắng nghe trên địa chỉ IPv6 tương ứng. Sau khi thay đổi, kiểm tra bằng ss -lntp hoặc công cụ quản trị của máy chủ. Nếu chỉ thấy 0.0.0.0:443 mà không có [::]:443, HTTPS IPv6 có thể chưa hoạt động.
3. Mở firewall IPv6 có chủ đích
Hãy cho phép TCP 80 và 443 trên IPv6 nếu website cần HTTP và HTTPS. Không mở toàn bộ cổng chỉ để “test cho nhanh”. Các cổng quản trị như SSH nên giới hạn theo dải IP quản trị, bật khóa xác thực và ghi log. Kiểm tra cả firewall của nhà cung cấp, firewall trong máy chủ và nhóm bảo mật nếu dùng máy chủ đám mây.
Nếu website chạy WordPress, nên thực hiện kiểm tra thay đổi trong môi trường staging trước. Bạn có thể tham khảo quy trình kiểm tra plugin WordPress trước khi cập nhật để giảm rủi ro khi thay đổi cấu hình máy chủ và plugin.
Kiểm tra DNS AAAA record, CDN và HTTPS

Kiểm tra DNS AAAA record
DNS AAAA record liên kết tên miền với địa chỉ IPv6, tương tự cách bản ghi A liên kết tên miền với IPv4 (theo Cloudflare Learning Center). Kiểm tra từ dòng lệnh:
dig AAAA example.com +short
dig AAAA www.example.com +short
dig A example.com +short
AAAA phải trả về đúng địa chỉ đang được máy chủ sử dụng. Nếu dùng CDN, kết quả có thể là địa chỉ IPv6 của CDN chứ không phải origin; điều này không nhất thiết là lỗi. Khi tạo hoặc sửa record, lưu ý TTL ảnh hưởng đến thời gian bản ghi mới được các trình phân giải sử dụng (theo Cloudflare DNS Docs).
Đừng chỉ tạo AAAA cho tên miền gốc rồi bỏ quên www, tên miền API, ảnh, tệp tải xuống hoặc subdomain dùng trong ứng dụng. Đồng thời, không trỏ AAAA đến máy chủ chưa mở cổng 443: một nhóm người dùng sẽ cố kết nối IPv6 nhưng nhận lỗi timeout.
Kiểm tra CDN và đường đến origin
Nhiều CDN có thể nhận truy cập IPv6 từ khách hàng ngay cả khi origin chỉ có IPv4. Ví dụ, Cloudflare cho biết chế độ tương thích IPv6 có thể tự tạo AAAA cho bản ghi được proxy; nếu origin có cả IPv4 và IPv6, CDN có thể ưu tiên IPv4 khi kết nối về origin (theo Cloudflare Network Docs).
Vì vậy, cần phân biệt hai bài kiểm tra:
- Client đến CDN: truy vấn AAAA và xác nhận trình duyệt kết nối được bằng IPv6.
- CDN đến origin: kiểm tra origin có cho phép dải IP của CDN, TLS đúng tên miền và firewall không chặn IPv6.
Nếu muốn kiểm tra origin trực tiếp, tạm thời dùng hostname riêng hoặc bản ghi DNS-only trong thời gian ngắn, nhưng không nên để lộ địa chỉ origin lâu hơn cần thiết. Sau kiểm tra, khôi phục cấu hình proxy và rà soát cache.
Kiểm tra HTTPS, redirect và nội dung hỗn hợp
Chạy thử:
curl -6 -I https://example.com
curl -6 -sS https://example.com -o /dev/null -w '%{http_code}n'
Kết quả tốt thường là mã HTTP hợp lệ như 200, 301 hoặc 302 theo thiết kế. Hãy kiểm tra chứng chỉ TLS bao phủ đúng tên miền, redirect không lặp và tài nguyên CSS, JavaScript, font, ảnh không trỏ đến hostname chỉ có IPv4 hoặc URL HTTP gây mixed content.
Kiểm tra website hỗ trợ IPv6 và xử lý lỗi
Quy trình kiểm tra thực tế
- Kiểm tra A và AAAA bằng ít nhất hai trình phân giải DNS khác nhau.
- Dùng một máy có kết nối IPv6 thật, không chỉ dựa vào kết quả DNS.
- Chạy
curl -6đến trang chủ, trang đăng nhập, API và tệp tĩnh quan trọng. - Mở Developer Tools để xem request nào thất bại hoặc bị chuyển sang hostname không có IPv6.
- Kiểm tra log web server, CDN, WAF và ứng dụng trong cùng thời điểm.
- Đo lại sau khi TTL cũ đã hết và kiểm tra cả tên miền phụ.
Các công cụ kiểm tra IPv6 trực tuyến có thể giúp xác nhận khả năng dual-stack, nhưng kết quả chỉ phản ánh điểm đo và thời điểm đo. Một website có AAAA chưa chắc đã phục vụ hoàn chỉnh nếu firewall, TLS hoặc ứng dụng phía sau còn lỗi. Vì thế, kiểm tra kết nối HTTP thực tế vẫn là bước quyết định.
Lỗi thường gặp và cách khắc phục
- DNS có AAAA nhưng timeout: kiểm tra route, firewall IPv6 và web server có listen trên [::] hay chưa.
- Trang chủ chạy nhưng API lỗi: bổ sung AAAA, firewall và chứng chỉ cho hostname API; kiểm tra whitelist IP.
- CDN hoạt động nhưng origin lỗi: xác minh chế độ proxy, chứng chỉ origin và phạm vi địa chỉ CDN được phép truy cập.
- Log ghi nhận IP sai định dạng: cập nhật cột cơ sở dữ liệu, regex, hệ thống chống spam và mã nguồn xử lý địa chỉ 128 bit.
- Một số người dùng thấy lỗi chậm: kiểm tra chất lượng định tuyến IPv6 của nhà mạng; duy trì IPv4 trong mô hình dual-stack thay vì ép IPv6-only.
Đối với WordPress, hãy kiểm tra thêm plugin bảo mật, CAPTCHA, hệ thống giới hạn đăng nhập, webhook và dịch vụ gửi email. Những thành phần này thường có whitelist hoặc logic xử lý địa chỉ IP riêng. Nếu bạn cần quy trình rà soát website trên trình duyệt, có thể xem cách quản trị và kiểm tra website trên trình duyệt.
Kết luận: website có thể xem là sẵn sàng cho IPv6 khi DNS trả về AAAA đúng, máy chủ nhận được kết nối IPv6 ở cổng cần thiết, HTTPS và toàn bộ tài nguyên tải bình thường, CDN/WAF ghi nhận đúng địa chỉ khách truy cập, còn ứng dụng và hệ thống giám sát xử lý được IPv6. Hãy triển khai theo từng bước, giữ IPv4 song song, ghi lại cấu hình trước khi thay đổi và có phương án xóa AAAA nhanh nếu phát hiện lỗi diện rộng.


1 bình luận
Pingback: HTTP/3 hosting: Đo QUIC và fallback HTTP/2