ERR_QUIC_PROTOCOL_ERROR: Nguyên nhân và cách khắc phục

ERR_QUIC_PROTOCOL_ERROR là gì?
ERR_QUIC_PROTOCOL_ERROR là lỗi trình duyệt Chromium xuất hiện khi giao thức QUIC (Quick UDP Internet Connections) gặp lỗi trong quá trình giao tiếp giữa trình duyệt và máy chủ web. Chrome hiển thị thông báo "Không thể truy cập trang web này" kèm theo mã lỗi ERR_QUIC_PROTOCOL_ERROR hoặc net::ERR_QUIC_PROTOCOL_ERROR.
Lỗi này chỉ xảy ra trên các trình duyệt dựa trên Chromium — Google Chrome, Microsoft Edge, Opera, Brave và Vivaldi. Firefox và Safari không sử dụng QUIC theo cách tương tự nên sẽ không hiển thị lỗi này. Trong hầu hết các trường hợp, lỗi không phải do bản thân trang web gây ra — đây là vấn đề ở tầng truyền tải giữa trình duyệt và máy chủ.
Lỗi xảy ra vì Chrome cố gắng kết nối bằng QUIC (qua cổng UDP 443) trước khi chuyển sang TCP truyền thống. Khi tường lửa, VPN hoặc proxy can thiệp vào kết nối UDP, Chrome có thể không chuyển đổi thành công và hiển thị lỗi này.
QUIC là gì và tại sao Chrome sử dụng nó?
QUIC là giao thức truyền tải được Google phát triển vào năm 2012 và được IETF chuẩn hóa thành RFC 9000 vào năm 2021. Nó thay thế bộ TCP+TLS truyền thống bằng một giao thức duy nhất được xây dựng trên nền UDP. QUIC là tầng truyền tải đằng sau HTTP/3, phiên bản mới nhất của giao thức HTTP.
Kết nối HTTPS truyền thống yêu cầu nhiều lượt khứ hồi: bắt tay TCP (1 RTT), sau đó bắt tay TLS (1-2 RTT), rồi đến yêu cầu HTTP. QUIC kết hợp tất cả thành một lượt khứ hồi duy nhất — hoặc thậm chí không cần lượt khứ hồi nào (0-RTT) cho các kết nối lặp lại. Điều này có thể giảm thời gian tải trang trung bình 100-300ms.
Chrome đã hỗ trợ QUIC từ phiên bản 29 (2013) và bật mặc định từ phiên bản 93 (2021). Hiện tại, QUIC xử lý kết nối đến hầu hết các dịch vụ của Google (YouTube, Gmail, Google Search) và hơn 8% tổng lưu lượng internet sử dụng giao thức này. Các CDN lớn như Cloudflare, Akamai và Fastly cũng hỗ trợ QUIC.
| Tính năng | TCP + TLS 1.3 | QUIC |
|---|---|---|
| Tầng truyền tải | TCP (kernel) | UDP (userspace) |
| Thiết lập kết nối | 2-3 lượt khứ hồi | 1 lượt khứ hồi (0-RTT khi kết nối lại) |
| Head-of-line blocking | Có — một gói tin mất làm chặn tất cả luồng | Không — các luồng độc lập |
| Di chuyển kết nối | Không — đổi IP = kết nối mới | Có — duy trì khi chuyển Wi-Fi ↔ mạng di động |
| Mã hóa | TLS 1.3 ở tầng trên | TLS 1.3 tích hợp sẵn (luôn được mã hóa) |
| Cổng | TCP 443 | UDP 443 |
Nguyên nhân gây ra ERR_QUIC_PROTOCOL_ERROR
Lỗi này xảy ra khi kết nối QUIC của Chrome thất bại và trình duyệt không thể chuyển sang TCP thành công. Dưới đây là các nguyên nhân phổ biến nhất, sắp xếp theo tần suất.
Tường lửa hoặc router chặn cổng UDP 443 — Nhiều tường lửa doanh nghiệp và gia đình chỉ cho phép lưu lượng TCP trên cổng 443. Vì QUIC sử dụng UDP trên cùng cổng, các gói tin bị loại bỏ âm thầm. Đây là nguyên nhân phổ biến nhất, đặc biệt trên các mạng được quản lý.
VPN gây nhiễu — VPN tạo đường hầm cho lưu lượng thông qua bộ giao thức riêng và thường không hỗ trợ UDP passthrough cho QUIC. VPN mã hóa và định tuyến lại các gói UDP, gây ra lỗi bắt tay QUIC.
Tiện ích mở rộng trình duyệt — Trình chặn quảng cáo, tiện ích bảo mật riêng tư và các add-on bảo mật có thể chặn yêu cầu mạng và chặn hoặc sửa đổi kết nối QUIC. Các tiện ích proxy lưu lượng qua máy chủ riêng đặc biệt gây ra vấn đề.
Cấu hình sai proxy server — Proxy server doanh nghiệp thường chỉ xử lý kết nối TCP. Khi Chrome thử QUIC (UDP), proxy không thể chuyển tiếp lưu lượng và kết nối thất bại.
Phần mềm diệt virus có tính năng kiểm tra HTTPS — Phần mềm bảo mật thực hiện kiểm tra gói tin sâu trên lưu lượng HTTPS thường không thể kiểm tra các gói UDP đã mã hóa của QUIC và chặn chúng thay vì cho qua.
Bộ nhớ đệm hoặc trạng thái trình duyệt bị hỏng — Dữ liệu phiên QUIC cũ trong bộ nhớ đệm của Chrome có thể gây ra lỗi kết nối khi cấu hình QUIC của máy chủ đã thay đổi.
Vấn đề QUIC phía máy chủ — Máy chủ của trang web có thể có cấu hình QUIC sai, chứng chỉ TLS hết hạn, hoặc đã tắt hỗ trợ QUIC trong khi Chrome vẫn cố sử dụng.
Cách 1: Tắt giao thức QUIC trong Chrome
Cách sửa nhanh và đáng tin cậy nhất là tắt hoàn toàn QUIC. Điều này buộc Chrome sử dụng kết nối TCP+TLS truyền thống, bỏ qua hoàn toàn sự cố. Đây không phải giải pháp tạm thời — đây là cấu hình hợp lệ được nhiều bộ phận IT sử dụng.
Tắt QUIC trong Google Chrome
Làm theo các bước sau để tắt QUIC trong Chrome trên Windows, Mac hoặc Linux.
1. Open Chrome and type in the address bar:
chrome://flags/#enable-quic
2. Find "Experimental QUIC protocol"
3. Change the dropdown from "Default" to "Disabled"
4. Click "Relaunch" at the bottom to restart Chrome
5. Verify: visit the website that showed the errorTắt QUIC trong Microsoft Edge
Vì Edge dựa trên Chromium, quy trình gần như giống hệt.
1. Open Edge and type in the address bar:
edge://flags/#enable-quic
2. Find "Experimental QUIC protocol"
3. Change to "Disabled"
4. Click "Restart" to applyTắt QUIC trong Opera và Brave
Opera và Brave sử dụng cùng hệ thống flag Chromium.
Opera: opera://flags/#enable-quic → Disabled → Restart
Brave: brave://flags/#enable-quic → Disabled → RestartCách 2: Xóa bộ nhớ đệm trình duyệt và dữ liệu QUIC
Token phiên QUIC bị hỏng hoặc dữ liệu bộ nhớ đệm cũ có thể gây ra lỗi kết nối liên tục. Xóa dữ liệu trình duyệt buộc Chrome thiết lập kết nối mới.
Xóa bộ nhớ đệm trong Chrome
Làm theo các bước sau để xóa bộ nhớ đệm và dữ liệu duyệt web trong Chrome.
1. Press Ctrl+Shift+Delete (Windows/Linux) or Cmd+Shift+Delete (Mac)
2. Set time range to "All time"
3. Check these boxes:
✓ Cached images and files
✓ Cookies and other site data
4. Click "Delete data"
5. Restart Chrome and try the website againXóa bộ nhớ đệm DNS
Xóa bộ nhớ đệm DNS hệ thống cũng có thể giúp giải quyết các vấn đề kết nối. Mở terminal hoặc command prompt và chạy lệnh phù hợp với hệ điều hành của bạn.
# Windows (Command Prompt as Administrator)
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# Linux (systemd-resolved)
sudo systemd-resolve --flush-caches
# Chrome internal DNS cache
# Visit: chrome://net-internals/#dns → Click "Clear host cache"Cách 3: Tắt tiện ích mở rộng trình duyệt
Các tiện ích mở rộng trình duyệt — đặc biệt là trình chặn quảng cáo, tiện ích VPN và công cụ bảo mật riêng tư — có thể can thiệp vào kết nối QUIC. Các tiện ích sửa đổi yêu cầu mạng hoặc định tuyến lưu lượng qua proxy server là nguyên nhân phổ biến nhất.
Để kiểm tra xem tiện ích mở rộng có gây ra vấn đề không, hãy mở Chrome ở chế độ Ẩn danh (Ctrl+Shift+N). Chế độ Ẩn danh tắt tất cả tiện ích mở rộng theo mặc định. Nếu trang web tải bình thường ở chế độ Ẩn danh, một tiện ích mở rộng là thủ phạm.
1. Go to chrome://extensions/
2. Disable ALL extensions (toggle each one off)
3. Restart Chrome and try the website
4. If the error is gone, re-enable extensions one by one
to find the culprit
5. Common culprits:
- uBlock Origin (rare, but check custom filter lists)
- Privacy Badger
- VPN browser extensions (NordVPN, ExpressVPN, etc.)
- Hola VPN
- HTTPS Everywhere (now built into Chrome)Cách 4: Kiểm tra cài đặt tường lửa và phần mềm diệt virus
Tường lửa là nguyên nhân phổ biến nhất gây ra ERR_QUIC_PROTOCOL_ERROR trên mạng doanh nghiệp và mạng được quản lý. QUIC sử dụng cổng UDP 443, mà nhiều tường lửa chặn vì chỉ cho phép TCP trên cổng đó. Tường lửa của bạn có thể đang âm thầm loại bỏ các gói QUIC mà không có bất kỳ lỗi nào hiển thị.
Nếu bạn quản lý tường lửa, bạn cần cho phép lưu lượng UDP ra ngoài trên cổng 443. Dưới đây là cách kiểm tra và cấu hình các thiết lập phổ biến.
Tường lửa Windows
Kiểm tra xem Windows Defender Firewall có đang chặn cổng UDP 443 không.
# Check if UDP 443 outbound is blocked
Get-NetFirewallRule | Where-Object {
$_.Direction -eq 'Outbound' -and $_.Action -eq 'Block'
} | Get-NetFirewallPortFilter | Where-Object {
$_.LocalPort -eq 443 -and $_.Protocol -eq 'UDP'
}
# Allow UDP 443 outbound (run as Administrator)
New-NetFirewallRule -DisplayName "Allow QUIC (UDP 443)" `
-Direction Outbound -Protocol UDP -LocalPort 443 `
-Action Allow -Profile AnyTường lửa macOS
Tường lửa tích hợp của macOS hoạt động dựa trên ứng dụng thay vì cổng. Nếu bạn đang sử dụng tường lửa của bên thứ ba như Little Snitch hoặc LuLu, hãy kiểm tra xem lưu lượng UDP của Chrome có bị chặn không.
# Check macOS firewall status
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
# List blocked applications
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --listapps
# Allow Chrome through the firewall
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add \
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ ChromeTường lửa cấp router
Một số router có tường lửa tích hợp chặn lưu lượng UDP trên cổng 443. Điều này phổ biến trên các router do ISP cung cấp. Để kiểm tra xem router có phải là nguyên nhân không, hãy thử kết nối qua điểm phát sóng di động — nếu lỗi biến mất, tường lửa của router có khả năng là nguyên nhân.
Đăng nhập vào bảng quản trị router (thường là 192.168.1.1 hoặc 192.168.0.1) và tìm cài đặt tường lửa hoặc bảo mật. Đảm bảo cổng UDP 443 ra ngoài không bị chặn.
Cách 5: Tắt VPN hoặc cấu hình QUIC passthrough
VPN là nguyên nhân phổ biến thứ hai gây ra ERR_QUIC_PROTOCOL_ERROR. Hầu hết các giao thức VPN tạo đường hầm lưu lượng qua TCP, và các gói UDP của QUIC bị loại bỏ, đóng gói lại sai hoặc bị chặn hoàn toàn bởi bộ giao thức mạng của VPN.
Để kiểm tra xem VPN có gây ra vấn đề không, hãy ngắt kết nối VPN và thử tải lại trang web. Nếu lỗi biến mất, VPN chính là nguyên nhân.
VPN dựa trên WireGuard — Thường xử lý UDP tốt vì bản thân WireGuard cũng dựa trên UDP. QUIC thường hoạt động bình thường qua đường hầm WireGuard.
OpenVPN (chế độ UDP) — Có thể hoạt động với QUIC, nhưng hiệu suất có thể giảm do chi phí đóng gói UDP-over-UDP.
OpenVPN (chế độ TCP) — Gần như chắc chắn làm hỏng QUIC. Các gói UDP không thể truyền qua đường hầm TCP một cách đáng tin cậy.
VPN IKEv2/IPSec — Thường xử lý lưu lượng QUIC chính xác vì hoạt động ở tầng mạng.
VPN doanh nghiệp (Cisco AnyConnect, Palo Alto GlobalProtect) — Hầu hết VPN doanh nghiệp chặn QUIC một cách rõ ràng để buộc lưu lượng đi qua cổng kiểm tra HTTPS.
Cách 6: Kiểm tra cài đặt proxy
Proxy server xử lý lưu lượng TCP nhưng hầu như không bao giờ hỗ trợ kết nối UDP của QUIC. Nếu bạn đang ở sau proxy (cấu hình thủ công hoặc do tổ chức thiết lập), các yêu cầu QUIC của Chrome sẽ thất bại vì proxy không thể chuyển tiếp gói UDP.
Kiểm tra cài đặt proxy và tắt proxy hoặc tắt QUIC để giải quyết xung đột.
Kiểm tra proxy trên Windows
1. Press Win+I → Network & Internet → Proxy
2. Under "Manual proxy setup":
- If "Use a proxy server" is ON and you didn't set it,
turn it OFF
3. Under "Automatic proxy setup":
- If "Use setup script" has an unexpected URL,
turn it OFF
4. Alternative: Open Command Prompt and run:
netsh winhttp show proxy
To reset:
netsh winhttp reset proxyKiểm tra proxy trên macOS
# Check current proxy settings
networksetup -getwebproxy Wi-Fi
networksetup -getsecurewebproxy Wi-Fi
# Disable proxy if set
networksetup -setwebproxystate Wi-Fi off
networksetup -setsecurewebproxystate Wi-Fi off
# Or via GUI:
# System Settings → Network → Wi-Fi → Details → Proxies
# Uncheck all proxy typesCách 7: Cập nhật Chrome lên phiên bản mới nhất
Google thường xuyên sửa các lỗi liên quan đến QUIC trong các bản cập nhật Chrome. Chrome 93 (2021) đã bật QUIC mặc định, và các phiên bản sau đó đã cải thiện logic chuyển đổi sang TCP của QUIC. Nếu bạn đang chạy phiên bản cũ, việc cập nhật có thể khắc phục lỗi.
Chrome cũng cập nhật định kỳ bản triển khai QUIC theo tiêu chuẩn IETF mới nhất — các phiên bản cũ có thể sử dụng cơ chế bắt tay QUIC đã bị ngừng sử dụng mà máy chủ không còn chấp nhận.
1. Open Chrome → click ⋮ (three dots) → Help → About Google Chrome
2. Chrome will automatically check for updates
3. If an update is available, click "Relaunch" to apply
4. After updating, verify your Chrome version:
chrome://version
Look for the version number (e.g., Chrome 133.x.x.x)Vấn đề QUIC phía máy chủ (dành cho chủ website)
Nếu bạn là chủ website và khách truy cập báo lỗi ERR_QUIC_PROTOCOL_ERROR, vấn đề có thể nằm ở phía máy chủ. Dưới đây là các nguyên nhân phía máy chủ phổ biến nhất.
Cấu hình sai HTTP/3 trên Cloudflare — Nếu bạn sử dụng Cloudflare, hãy kiểm tra HTTP/3 đã được bật đúng cách trong Speed → Optimization → Protocol Optimization. Cấu hình không hoàn chỉnh hoặc sai có thể gây ra lỗi QUIC không liên tục cho khách truy cập.
Chứng chỉ TLS hết hạn hoặc không khớp — QUIC yêu cầu chứng chỉ TLS hợp lệ. Nếu chứng chỉ hết hạn, tự ký hoặc không khớp với tên miền, kết nối QUIC sẽ thất bại. Sử dụng SSL Checker của DNS Robot để kiểm tra chứng chỉ.
Vấn đề module QUIC trên Nginx/LiteSpeed — Nếu bạn tự vận hành máy chủ với hỗ trợ QUIC (qua nginx-quic hoặc LiteSpeed), hãy đảm bảo module QUIC được biên dịch đúng và trình lắng nghe UDP được gắn vào cổng 443.
Load balancer loại bỏ UDP — AWS ALB, Azure Application Gateway và một số load balancer chỉ chuyển tiếp TCP. Bạn cần network load balancer (L4) hoặc proxy hỗ trợ QUIC để truyền lưu lượng UDP.
# Test if your server responds to QUIC (requires curl with HTTP/3)
curl --http3 -I https://your-domain.com
# Check if UDP 443 is open on your server
ss -ulnp | grep 443
# Verify Alt-Svc header (tells browsers QUIC is available)
curl -sI https://your-domain.com | grep -i alt-svc
# Expected: alt-svc: h3=":443"; ma=86400Nên giữ QUIC bật hay tắt?
Tắt QUIC là cách sửa nhanh, nhưng bạn sẽ mất đi lợi ích hiệu suất thực sự. Dưới đây là khung quyết định thực tế.
Giữ QUIC bật nếu bạn đang trên mạng không bị hạn chế (nhà riêng, điểm phát sóng di động), không sử dụng VPN và không ở sau tường lửa doanh nghiệp. QUIC giảm thời gian thiết lập kết nối 100-300ms và loại bỏ head-of-line blocking, giúp tải trang nhanh hơn đáng kể — đặc biệt trên mạng di động.
Tắt QUIC nếu bạn đang trên mạng doanh nghiệp, sử dụng VPN không phải WireGuard, hoặc ở sau tường lửa nghiêm ngặt. Trong các môi trường này, gói QUIC bị loại bỏ âm thầm và cơ chế chuyển sang TCP của Chrome không phải lúc nào cũng đáng tin cậy. Tắt QUIC sẽ loại bỏ hoàn toàn lỗi với tác động hiệu suất tối thiểu — sự khác biệt thường dưới 200ms mỗi lần tải trang trên kết nối băng thông rộng.
| Tình huống | Khuyến nghị | Lý do |
|---|---|---|
| Mạng nhà, không VPN | Giữ QUIC bật | Tận dụng đầy đủ lợi ích hiệu suất, không bị can thiệp |
| Mạng di động (4G/5G) | Giữ QUIC bật | Di chuyển kết nối của QUIC xử lý chuyển đổi mạng |
| Mạng doanh nghiệp | Tắt QUIC | Tường lửa thường chặn UDP 443 |
| Sử dụng VPN (không phải WireGuard) | Tắt QUIC | Hầu hết VPN làm hỏng đường hầm UDP của QUIC |
| Sử dụng VPN (WireGuard) | Giữ QUIC bật | WireGuard xử lý UDP tự nhiên |
| Sau proxy server | Tắt QUIC | Proxy không thể chuyển tiếp lưu lượng UDP |
Kiểm tra kết nối và cài đặt DNS
Sử dụng HTTP Headers Checker miễn phí của DNS Robot để xác minh cấu hình QUIC (HTTP/3) và header Alt-Svc của máy chủ.
Try HTTP Headers CheckerFrequently Asked Questions
ERR_QUIC_PROTOCOL_ERROR có nghĩa là Chrome đã cố kết nối đến trang web bằng giao thức QUIC (qua cổng UDP 443) và kết nối thất bại. Đây là lỗi truyền tải phía trình duyệt — không phải vấn đề với nội dung trang web hay kết nối internet của bạn.