ERR_QUIC_PROTOCOL_ERROR là gì? Cách sửa trên Chrome, Edge

Điểm chính

ERR_QUIC_PROTOCOL_ERROR nghĩa là kết nối QUIC (HTTP/3) của Chrome tới trang web bị đứt, thường giữa lúc đang tải. Chrome tự thử lại bằng kết nối TCP thông thường, trừ khi trang đã bắt đầu phản hồi, nên bạn chỉ thấy lỗi khi có thứ gì đó để QUIC khởi động rồi làm nó đứt: VPN, tường lửa hoặc phần mềm bảo mật, mạng không ổn định, hoặc chính cấu hình HTTP/3 của trang. Hãy tải lại trước; nếu lỗi vẫn lặp lại, thử mạng khác, rồi tắt QUIC tại chrome://flags/#enable-quic (edge://flags/#enable-quic trên Edge).

Kiểm tra ngay

Hướng dẫn sửa lỗi ERR_QUIC_PROTOCOL_ERROR với mô tả lỗi giao thức QUIC trên Chrome và các bước khắc phục chi tiết
Hướng dẫn sửa lỗi ERR_QUIC_PROTOCOL_ERROR với mô tả lỗi giao thức QUIC trên Chrome và các bước khắc phục chi tiết
Bắt đầu đọc
  1. ERR_QUIC_PROTOCOL_ERROR là gì?
  2. QUIC là gì và tại sao Chrome sử dụng nó?
  3. Nguyên nhân gây ra ERR_QUIC_PROTOCOL_ERROR
  4. Cách 1: tắt giao thức QUIC trong Chrome
  5. Cách 2: đặt lại kết nối của Chrome
  6. Cách 3: tắt tiện ích mở rộng của trình duyệt
  7. Cách 4: kiểm tra cài đặt tường lửa và phần mềm diệt virus
  8. Cách 5: kiểm tra VPN của bạn
  9. Cách 6: tìm proxy ẩn hoặc bộ lọc lưu lượng
  10. Cách 7: cập nhật Chrome lên phiên bản mới nhất
  11. Sự cố QUIC phía máy chủ (dành cho chủ website)
  12. Nên bật hay tắt QUIC?
  13. Câu hỏi thường gặp

ERR_QUIC_PROTOCOL_ERROR là gì?

ERR_QUIC_PROTOCOL_ERROR nghĩa là kết nối QUIC của Chrome tới trang web bị đứt, thường sau khi trang đã bắt đầu gửi nội dung. QUIC là giao thức truyền tải chạy trên UDP, nền tảng của HTTP/3. Chrome hiển thị trang lỗi chung "Không truy cập được trang web này" ("Trang web tại … có thể tạm thời không hoạt động hay được chuyển vĩnh viễn sang địa chỉ web mới") kèm mã lỗi bên dưới; Chromium định nghĩa đây là lỗi -356, "There is a QUIC protocol error".

Chrome thường tự khắc phục: khi một yêu cầu QUIC thất bại, nó gửi lại yêu cầu đó qua kết nối TCP thông thường, trừ khi máy chủ đã bắt đầu phản hồi (http_network_transaction.cc). Vì vậy, một mạng chặn hoàn toàn QUIC sẽ không gây ra lỗi này; còn mạng, VPN hay máy chủ để QUIC khởi động rồi làm nó đứt thì có.

Lỗi chỉ xuất hiện trên các trình duyệt nền Chromium: Chrome, Edge, Opera, Brave và Vivaldi. Đây là lỗi khác với ERR_SSL_PROTOCOL_ERROR (bắt tay TLS bị hỏng) và ERR_NETWORK_CHANGED (kết nối của bạn vừa thay đổi). Hãy tải lại trước, vì lần thử lại thường thành công; nếu lỗi cứ quay lại, các cách sửa bên dưới bắt đầu bằng cách đáng tin cậy nhất là tắt QUIC, rồi xử lý lần lượt từng nguyên nhân.

Trang có hỗ trợ HTTP/3 không? Kiểm tra header Alt-Svc của trang

QUIC là gì và tại sao Chrome sử dụng nó?

QUIC do Google phát triển, công bố lần đầu năm 2013 và được IETF chuẩn hóa thành RFC 9000 năm 2021. Nó thay TCP + TLS bằng một giao thức mã hóa duy nhất chạy trên UDP, và là nền tảng truyền tải của HTTP/3 (DNS riêng của Android cũng dùng nó cho DNS qua HTTP/3: xem DNS riêng là gì).

Một kết nối TCP + TLS 1.3 cần hai vòng trao đổi trước yêu cầu đầu tiên; QUIC chỉ cần một và có thể nối lại với không vòng nào. Ngày 7 tháng 10 năm 2020, Google thông báo 25% người dùng Chrome Stable đã dùng IETF QUIC (bản nháp h3-29). Google đo được độ trễ của Search giảm hơn 2%, rebuffering của YouTube giảm hơn 9%, và thông lượng tăng hơn 3% trên máy tính, 7% trên điện thoại (Chromium Blog).

Chrome chỉ dùng QUIC khi trang web công bố hỗ trợ, trong header Alt-Svc hoặc bản ghi DNS HTTPS. Chúng tôi đã kiểm tra 20 trang được truy cập nhiều nhất vào ngày 26 tháng 10 năm 2026: 10 trang công bố HTTP/3 trong header Alt-Svc (Google, YouTube, Facebook, Instagram, Amazon, LinkedIn, Bing, WhatsApp, Cloudflare và OpenAI).

Đặc điểmTCP + TLS 1.3QUIC
Tầng truyền tảiTCP (nhân hệ điều hành)UDP (không gian người dùng)
Thiết lập kết nối2 vòng trao đổi (TCP rồi TLS)1 vòng trao đổi (0-RTT khi nối lại)
Chặn đầu hàng đợiCó — một gói mất làm nghẽn mọi luồngKhông — các luồng độc lập
Chuyển đổi kết nốiKhông — IP mới = kết nối mớiCó — giữ được khi đổi Wi-Fi ↔ dữ liệu di động
Mã hóaTLS 1.3 chạy bên trênTLS 1.3 tích hợp sẵn (luôn mã hóa)
CổngTCP 443UDP 443

Nguyên nhân gây ra ERR_QUIC_PROTOCOL_ERROR

Mọi nguyên nhân đều theo cùng một mô hình: QUIC đã khởi động, rồi có thứ gì đó làm nó đứt.

  • Mạng để QUIC khởi động rồi làm nó đứt — tường lửa, router hoặc thiết bị của nhà mạng loại bỏ hoặc để hết hạn lưu lượng UDP giữa chừng một lần truyền. (Mạng chặn hoàn toàn UDP 443 chỉ khiến Chrome dùng TCP, không có lỗi nào.)
  • VPN làm mất UDP giữa chừng kết nối — khi VPN kết nối lại, đổi máy chủ hoặc tuyến đường, hay để các luồng UDP im lặng hết hạn, kết nối QUIC đang mở sẽ chết. (Đường truyền quá nhỏ cho QUIC sẽ thất bại ngay lúc bắt tay, khi đó Chrome chỉ việc dùng TCP.)
  • Phần mềm bảo mật kiểm tra lưu lượng — "bảo vệ web" của phần mềm diệt virus hoặc tường lửa chặn kết nối có thể làm hỏng các luồng QUIC.
  • Kết nối không ổn định — Wi-Fi yếu, hoặc đổi mạng giữa lúc đang tải.
  • Cấu hình HTTP/3 của chính trang web — máy chủ hoặc CDN công bố HTTP/3 nhưng ngăn xếp QUIC lỗi giữa chừng phản hồi. Khi đó mọi người đều thấy lỗi ở riêng trang đó, trên mọi mạng: Kiểm tra web sập cho biết trang có lỗi với người khác không.
  • Không phải nguyên nhân: proxy — Chrome chỉ dùng QUIC ở kết nối trực tiếp, nên khi đã đặt proxy, mọi yêu cầu đều đi qua TCP.

Cách 1: tắt giao thức QUIC trong Chrome

Cách đáng tin cậy nhất: khi tắt QUIC, Chrome dùng HTTP/2 (hoặc HTTP/1.1) qua TCP cho mọi trang. Trang vẫn tải bình thường; bạn chỉ mất lợi thế tốc độ của QUIC, mà Google đo được khoảng 2% nhanh hơn cho Search và giảm 9% rebuffering trên YouTube.

Dành cho quản trị viên IT: chính sách QuicAllowed của Chrome và Edge đặt thành false sẽ tắt QUIC trên các thiết bị được quản lý, không cần động đến chrome://flags.

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.

text
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 error

Tắt QUIC trong Microsoft Edge

Vì Edge dựa trên Chromium nên cách làm gần như giống hệt.

text
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 apply

Tắt QUIC trong Opera và Brave

Opera và Brave dùng cùng hệ thống flag của Chromium.

text
Opera:  opera://flags/#enable-quic → Disabled → Restart
Brave:  brave://flags/#enable-quic → Disabled → Restart

Cách 2: đặt lại kết nối của Chrome

Xóa dữ liệu hiếm khi sửa được lỗi này, nhưng đặt lại các kết nối đang mở thì có thể: Chrome sẽ bắt đầu các kết nối QUIC (hoặc TCP) mới tới trang.

Xóa kết nối rồi xóa bộ nhớ đệm

Bắt đầu với Flush socket pools (xem ghi chú bên dưới). Nếu lỗi vẫn còn, hãy xóa bộ nhớ đệm:

text
1. Press Ctrl+Shift+Delete (Windows/Linux) or Cmd+Shift+Delete (Mac)

2. Choose More → All time for the time range

3. Tick "Cached images and files"

4. Click "Delete data" ("Delete from this device" if you're signed out)

5. Restart Chrome and try the website again

Cách 3: tắt tiện ích mở rộng của trình duyệt

Hiếm khi là nguyên nhân: tiện ích không thể thay đổi chính QUIC, và các tiện ích "VPN" trong Chrome trên máy tính thực chất là proxy, khiến Chrome không dùng QUIC.

Mở trang trong cửa sổ ẩn danh (Ctrl+Shift+N), nơi các tiện ích bị tắt trừ khi bạn đã cho phép. Nếu trang tải được ở đó, hãy tắt từng tiện ích tại chrome://extensions/ để tìm ra tiện ích gây lỗi.

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 chặn hoàn toàn cổng UDP 443 không gây ra lỗi này: Chrome chỉ việc dùng TCP. Rắc rối nằm ở tường lửa hoặc phần mềm bảo mật để QUIC khởi động rồi loại bỏ hoặc kiểm tra nó.

Hãy cho phép hoàn toàn UDP 443 chiều đi, hoặc chặn hoàn toàn. Dưới đây là cách kiểm tra các thiết lập phổ biến.

Tường lửa Windows

Tường lửa Windows Defender mặc định cho phép lưu lượng đi ra, và quy tắc chặn luôn thắng quy tắc cho phép, nên hãy tìm quy tắc chặn do ai đó thêm vào và tắt nó. Chạy PowerShell với quyền quản trị viên:

powershell
# List enabled outbound block rules that cover UDP (or any protocol)
Get-NetFirewallRule -Direction Outbound -Action Block -Enabled True |
  Where-Object { ($_ | Get-NetFirewallPortFilter).Protocol -in 'UDP', 'Any' } |
  Select-Object Name, DisplayName

# Turn off the rule that blocks UDP 443 (use its Name from the list)
Disable-NetFirewallRule -Name '<Name>'

Tường lửa macOS

Tường lửa tích hợp của macOS chỉ kiểm soát kết nối đi vào nên không thể chặn QUIC. Nếu bạn dùng tường lửa chiều đi như Little Snitch hoặc LuLu, hãy kiểm tra quy tắc của nó với lưu lượng UDP của Chrome tới cổng 443.

Tường lửa cấp router

Cách thử nhanh nhất: kết nối với điểm phát sóng di động của điện thoại và tải trang. Nếu lỗi biến mất, nguyên nhân là router, thiết bị của nhà mạng hoặc tường lửa của văn phòng.

Sau đó vào trang quản trị của router (thường là 192.168.1.1 hoặc 192.168.0.1) tìm các cài đặt tường lửa, "SPI" hoặc bảo mật có giới hạn UDP, và cập nhật firmware.

Cách 5: kiểm tra VPN của bạn

VPN đưa toàn bộ lưu lượng của bạn, kể cả UDP, qua đường hầm, nên QUIC thường đi qua được. Rắc rối bắt đầu khi chính đường hầm không ổn định: kết nối lại, đổi máy chủ hoặc tuyến đường, hay VPN để các luồng UDP im lặng hết hạn đều làm chết kết nối QUIC đang mở.

Ngắt VPN rồi tải lại. Nếu lỗi biến mất, hãy thử các cách sau:

  • Đổi máy chủ hoặc giao thức VPN — máy chủ ổn định hơn hoặc giao thức khác thường chấm dứt tình trạng đứt kết nối
  • VPN doanh nghiệp — nhiều mạng công ty chủ động chặn QUIC để kiểm tra HTTPS; hãy làm theo cấu hình của bộ phận IT và tắt QUIC nếu lỗi vẫn còn
  • Để QUIC tắt khi dùng VPN — Cách 1 hoạt động với mọi VPN, vì khi đó Chrome dùng TCP

Cách 6: tìm proxy ẩn hoặc bộ lọc lưu lượng

Cài đặt proxy không gây ra lỗi này: Chrome chỉ dùng QUIC ở kết nối trực tiếp, nên khi có proxy, mọi yêu cầu đều đi qua TCP. Thứ có thể trông giống proxy là phần mềm bảo mật hoặc VPN lọc lưu lượng ở tầng mạng mà không có cài đặt proxy nào.

Nếu lỗi xuất hiện trên mọi mạng nhưng chỉ ở máy này, hãy lần lượt tắt từng phần mềm như vậy ("web shield", "bảo vệ mạng", ứng dụng VPN chạy nền) rồi tải lại.

Cách 7: cập nhật Chrome lên phiên bản mới nhất

Mã QUIC của Chrome được cập nhật thường xuyên, và các bản cập nhật sửa lỗi ở phía Chrome của kết nối. Hãy cập nhật Chrome (hoặc Edge, Opera, Brave) trước khi thay đổi bất cứ thứ gì khác trên máy đã lâu không kết nối mạng.

text
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 

Sự cố 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 ở máy chủ của bạn. Đây là những nguyên nhân phổ biến nhất phía máy chủ.

  • Cài đặt HTTP/3 của Cloudflare — nếu khách báo lỗi và bạn dùng Cloudflare, hãy kiểm tra Speed > Settings > Protocol Optimization > HTTP/3 và thử tắt nó một thời gian
  • HTTP/3 trên máy chủ của chính bạn — nginx hỗ trợ HTTP/3 từ phiên bản 1.25.0 (listen 443 quic reuseport; cùng header Alt-Svc); LiteSpeed và Caddy cũng hỗ trợ. Hãy đảm bảo cổng UDP 443 truy cập được và ngăn xếp QUIC của bạn được cập nhật. QUIC luôn dùng TLS 1.3: Kiểm tra SSL cho biết máy chủ của bạn có cung cấp nó không
  • Bộ cân bằng tải không chuyển tiếp UDP — các bộ cân bằng tải ứng dụng như AWS ALB chỉ chuyển TCP. Nếu bạn công bố h3 trong Alt-Svc mà không chuyển tiếp UDP 443, Chrome đánh dấu QUIC là hỏng với trang của bạn trong 5 phút, sau đó thử lại và nhân đôi thời gian chờ, tối đa 2 ngày, và mỗi lần đều chạy đua với TCP: hãy bỏ header đó hoặc dùng bộ cân bằng tải tầng 4 hỗ trợ UDP
bash
# Test HTTP/3 only, with no fallback (needs a curl built with HTTP/3)
curl --http3-only -sI https://your-domain.com

# Check something listens on UDP 443 (as root; firewalls are separate)
ss -ulnp 'sport = :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=86400

Nên bật hay tắt QUIC?

Tắt QUIC là cách sửa an toàn, nhưng trên mạng khỏe bạn mất tốc độ thật sự. Một cách thực tế để quyết định:

Giữ QUIC bật ở nhà, khi dùng dữ liệu di động và trên mọi mạng không xuất hiện lỗi. Số liệu của chính Google cho thấy Search nhanh hơn, video ít rebuffering hơn và thông lượng cao hơn, và QUIC giữ kết nối khi điện thoại chuyển từ Wi-Fi sang dữ liệu di động.

Tắt QUIC trên mạng hoặc VPN mà lỗi cứ quay lại. Khi đó Chrome dùng HTTP/2 (hoặc HTTP/1.1) qua TCP, mạng nào cũng xử lý được; phần lớn mọi người sẽ không nhận ra khác biệt trên đường truyền băng thông rộng tốt.

Khi cùng kiểu lỗi xảy ra qua HTTP/2 thay vì QUIC, Chrome hiển thị ERR_HTTP2_PROTOCOL_ERROR, lỗi có nguyên nhân và cách sửa riêng.

Tình huốngKhuyến nghịLý do
Mạng gia đình, không có lỗiGiữ QUIC bậtĐầy đủ lợi thế về tốc độ
Dữ liệu di động (4G/5G)Giữ QUIC bậtKết nối giữ được khi đổi mạng
Mạng công ty hoặc trường học có lỗiTắt QUIC (hoặc nhờ IT chặn hoàn toàn)Tường lửa đang can thiệp vào UDP 443
VPN có lỗiTắt QUIC, hoặc thử máy chủ hay giao thức VPN khácĐường hầm không ổn định làm đứt kết nối QUIC
Phía sau proxyKhông cần thay đổiChrome không dùng QUIC qua proxy

Trang có hỗ trợ HTTP/3 không?

Kiểm tra header phản hồi của bất kỳ trang nào bằng Kiểm tra HTTP Header miễn phí của DNS Robot: header Alt-Svc có h3 nghĩa là trình duyệt sẽ thử QUIC.

Nguồn

  1. net_error_list.h (QUIC_PROTOCOL_ERROR -356), Chromium
  2. http_network_transaction.cc (retry without QUIC), Chromium
  3. Chrome is deploying HTTP/3 and IETF QUIC (2020-10-07), Chromium Blog
  4. RFC 9000: QUIC (§14, datagram size), IETF
  5. HTTP/3 (with QUIC), Cloudflare

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

ERR_QUIC_PROTOCOL_ERROR có nghĩa là gì?

Kết nối QUIC (HTTP/3) của Chrome tới trang web bị đứt, thường sau khi trang đã bắt đầu phản hồi, nên Chrome không thể lặng lẽ thử lại qua TCP. Chromium định nghĩa đây là lỗi -356, "There is a QUIC protocol error". Đó là vấn đề kết nối, không phải lỗi của trang.

Làm sao sửa ERR_QUIC_PROTOCOL_ERROR trên Chrome?

Hãy tải lại trước: Chrome thường thử lại qua TCP. Nếu lỗi vẫn lặp lại, ngắt VPN (nếu có) và thử mạng khác. Nếu lỗi chỉ biến mất ở đó, mở chrome://flags/#enable-quic, đặt Experimental QUIC protocol thành Disabled rồi khởi chạy lại Chrome.

Làm sao sửa ERR_QUIC_PROTOCOL_ERROR trên Microsoft Edge?

Làm tương tự: mở edge://flags/#enable-quic, đặt Experimental QUIC protocol thành Disabled rồi khởi động lại Edge. Edge dùng phần mạng của Chromium nên các nguyên nhân (VPN, tường lửa, mạng không ổn định hoặc HTTP/3 của trang) giống như trên Chrome.

Tắt QUIC có làm duyệt web chậm hơn không?

Chậm đi một chút, nhất là trên kết nối chậm hoặc di động. Google đo được QUIC giảm độ trễ của Search hơn 2% và rebuffering của YouTube hơn 9% so với TCP. Trên đường truyền băng thông rộng tốt, phần lớn mọi người sẽ không nhận ra QUIC đã tắt.

Tại sao lỗi này chỉ xảy ra trên một số trang web?

Chrome chỉ dùng QUIC với các trang công bố HTTP/3, trong header Alt-Svc hoặc bản ghi DNS HTTPS, như Google, YouTube và Facebook. Nếu chỉ những trang đó lỗi, mạng hoặc VPN của bạn đang làm đứt QUIC; nếu một trang lỗi với mọi người trên mọi mạng, cấu hình HTTP/3 của trang đó bị hỏng.

VPN có thể gây ra ERR_QUIC_PROTOCOL_ERROR không?

Có, khi đường hầm không ổn định: VPN kết nối lại, đổi tuyến hoặc để các luồng UDP im lặng hết hạn sẽ làm chết kết nối QUIC đang mở giữa lúc truyền. Hãy thử máy chủ hoặc giao thức VPN khác, hoặc tắt QUIC khi dùng VPN.

"Failed to load resource: net::ERR_QUIC_PROTOCOL_ERROR" nghĩa là gì?

Đó là cùng một lỗi nhưng ở một tệp của trang, như hình ảnh hay script, bị đứt giữa lúc tải qua QUIC. Nếu lặp lại nhiều lần, cách sửa vẫn như vậy: thử mạng khác, kiểm tra VPN hoặc tắt QUIC.

ERR_QUIC_PROTOCOL_ERROR là do mạng của tôi hay do trang web?

Hãy tải trang bằng dữ liệu di động. Nếu tải được, nguyên nhân là mạng, VPN hoặc phần mềm bảo mật của bạn. Nếu lỗi ở mọi nơi và với cả người khác, cấu hình HTTP/3 của trang bị hỏng và chỉ chủ trang mới sửa được.

ERR_QUIC_PROTOCOL_ERROR có phải là rủi ro bảo mật không?

Không. Đó là một kết nối thất bại, không phải vụ xâm nhập. QUIC luôn được mã hóa bằng TLS 1.3 nên không có gì bị gửi đi mà không được bảo vệ; kết nối chỉ đơn giản là dừng lại.

Làm sao để kiểm tra một trang web có hỗ trợ QUIC không?

Tìm header Alt-Svc có h3=":443" (Kiểm tra HTTP Header của DNS Robot, hoặc curl -sI https://example.com | grep -i alt-svc) hoặc bản ghi DNS HTTPS có alpn=h3 (dig example.com HTTPS). Trong Chrome, tab Mạng của DevTools hiển thị h3 ở cột Giao thức cho các yêu cầu QUIC.

Về tác giả

Shaik Vahid

Nhà sáng lập DNS Robot. Vahid đã làm nhiều năm trong bộ phận hỗ trợ hosting, xử lý tên miền, bản ghi DNS, chứng chỉ SSL và việc gửi email cho khách hàng. Anh xây dựng các công cụ của DNS Robot và viết những hướng dẫn này từ các lỗi mà mọi người thực sự gặp.

Kiểm tra HTTP Header

Phân tích header phản hồi HTTP và chấm điểm header bảo mật