• 28/06 cập nhật đăng ký đăng nhập qua Google & Facebook

Cách khắc phục lỗi website dùng Cloudflare không vào được trên mạng VNPT bằng cách tắt Encrypted ClientHello (ECH)

TenHoshi

Administrator
Staff member
Trusted Uploader

Gần đây mình gặp một tình trạng khá lạ: nhiều người dùng mạng VNPT phản ánh website sử dụng Cloudflare truy cập rất chậm, thậm chí có lúc không vào được. Điều đáng nói là khi đổi sang mạng khác như Viettel, FPT hoặc 4G/5G thì website lại hoạt động bình thường.


Ban đầu mình nghĩ nguyên nhân đến từ QUIC, DNS hoặc IPv6. Tuy nhiên sau nhiều lần kiểm tra, một số website đã hoạt động ổn định trở lại sau khi tắt Encrypted ClientHello (ECH) trên Cloudflare.

Dấu hiệu nhận biết​

Nếu website của bạn có các biểu hiện sau:
  • Chỉ người dùng VNPT gặp lỗi.
  • Lúc vào được, lúc không.
  • Website dùng Cloudflare (đám mây màu cam).
  • Đổi sang mạng khác thì truy cập bình thường.
Thì bạn có thể thử kiểm tra ECH.

Kiểm tra ECH đang bật hay không​

Có thể kiểm tra bằng Cloudflare API:

Code:
curl -X GET "https://api.cloudflare.com/client/v4/zones/ZONE_ID/settings/ech" \ -H "Authorization: Bearer YOUR_API_TOKEN"

Nếu kết quả trả về:

Code:
{ "result": { "id": "ech", "value": "on", "editable": true }
}

nghĩa là website đang bật Encrypted ClientHello (ECH).

Cách tắt ECH trên Cloudflare​

Nếu editable bằng true, chỉ cần chạy:

Code:
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/ZONE_ID/settings/ech" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ --data '{"value":"off"}'

Sau đó kiểm tra lại:

Code:
curl -X GET "https://api.cloudflare.com/client/v4/zones/ZONE_ID/settings/ech" \ -H "Authorization: Bearer YOUR_API_TOKEN"

Nếu thấy:
Code:
{ "result": { "id": "ech", "value": "off" }
}

là đã tắt thành công.

Không thấy tùy chọn ECH trong Dashboard?​

Nhiều tài khoản Cloudflare không hiển thị nút bật/tắt ECH trong giao diện quản trị, mặc dù API vẫn cho phép thay đổi.

Để lấy thông tin:
  • Zone ID: Dashboard → chọn domain → Overview.
  • API Token: My Profile → API Tokens → Create Custom Token với quyền Zone Settings: Edit.

Có phải mọi lỗi VNPT đều do ECH?​

Không hẳn.

Việc tắt ECH chỉ là một phương án để kiểm tra và đã giúp khắc phục trên một số website mình quản lý. Nếu sau khi tắt ECH vẫn còn lỗi, nguyên nhân có thể nằm ở:
  • Định tuyến giữa VNPT và Cloudflare.
  • IPv6.
  • DNS.
  • Các vấn đề kết nối khác.
Vì vậy nên kiểm tra từng yếu tố thay vì kết luận tất cả đều do ECH.

Nếu có nhiều website​

Thay vì thao tác từng website, bạn có thể viết một script sử dụng Cloudflare API để tự động tắt ECH cho toàn bộ các Zone trong tài khoản. Điều này rất hữu ích nếu đang quản lý hàng chục hoặc hàng trăm domain.

Hy vọng bài viết này giúp bạn tiết kiệm thời gian nếu đang gặp tình trạng website Cloudflare không vào được trên mạng VNPT. Nếu bạn đã thử cách này, hãy chia sẻ kết quả để mọi người có thêm dữ liệu đối chiếu.

nguồn: nhóm xvps(dot)io
 

Guest Post 2022

Top