Computer >> Hướng Dẫn Máy Tính >  >> Xử Lý Sự Cố >> Lỗi Windows

Khắc phục lỗi TLS Handshake thất bại trên Firefox – Hướng dẫn khắc phục sự cố nhanh

Firefox là một trong những trình duyệt web chính trên thị trường hiện nay. Nó phát hành năm 2002 và đã phát triển thành trình duyệt mạnh mẽ, ổn định cho Windows, macOS, Linux và các hệ điều hành chính khác. Firefox cũng có sẵn cho Android và iOS.

Tuy nhiên, một số người dùng gần đây báo cáo bị kẹt ở giai đoạn TLS Handshake khi truy cập website qua Firefox. Bất cứ khi nào người dùng nhập website vào thanh địa chỉ, trang không tải được vì TLS Handshake thất bại. TLS Handshake chỉ nên mất vài giây, không phải phút, để xử lý. Nếu bạn bị kẹt ở giai đoạn này hoặc handshake mất hơn năm giây, thì có gì đó sai với trình duyệt của bạn.

Hướng dẫn này sẽ giải thích TLS Handshake là gì và làm gì khi gặp vấn đề TLS Handshake thất bại.

TLS Handshake là gì?

Giao thức Handshake Transport Layer Security (TLS) được dùng bất cứ khi nào xác thực và trao đổi khóa được yêu cầu để bắt đầu hoặc tiếp tục phiên bảo mật. Giao thức TLS Handshake xử lý thương lượng cipher (bộ mã), xác thực server và client, và trao đổi thông tin session key.

Mẹo chuyên nghiệp: Chạy công cụ tối ưu hóa PC chuyên dụng để loại bỏ cài đặt không chính xác, tệp rác, ứng dụng có hại và mối đe dọa bảo mật có thể gây ra vấn đề hệ thống hoặc hiệu suất chậm.

TLS Handshake trông đơn giản bề mặt, nhưng quy trình thực tế bao gồm các bước phức tạp sau:

  1. Client (trình duyệt) gửi thông điệp Client Hello đến server, cùng với giá trị ngẫu nhiên của client và cipher suites.
  2. Server trả lời với thông điệp Server Hello và giá trị ngẫu nhiên của nó.
  3. Server sau đó gửi certificate (chứng chỉ) đến client để xác thực, và có thể yêu cầu certificate từ client. Sau đó server gửi thông báo Server hello done.
  4. Client gửi certificate nếu server yêu cầu.
  5. Client gửi Pre-Master Secret ngẫu nhiên đến server, và cả hai tạo ra Master Secret và session keys.
  6. Client gửi thông điệp Change cipher spec, rồi thông báo Client finished.
  7. Server nhận Change cipher spec rồi chuyển sang mã hóa đối xứng. Tiếp theo, server gửi thông báo Server finished đến client.
  8. Kênh bảo mật đã được thiết lập giữa client và server, qua đó họ có thể trao đổi dữ liệu.

Với số lượng trao đổi giữa server và client, nhiều thứ có thể sai trong quá trình. Một cấu hình trình duyệt không chính xác hoặc chứng chỉ website thiếu, ví dụ, có thể khiến toàn bộ quá trình TLS Handshake thất bại.

Nguyên nhân gây thất bại TLS Handshake?

Gần đây, một số người dùng Firefox báo cáo họ gặp thất bại TLS Handshake bất cứ khi nào dùng trình duyệt truy cập website. Đối với một số người, vấn đề chỉ ở website cụ thể, trong khi người khác gặp lỗi trên tất cả website. Trong một số trường hợp, trang cuối cùng tải được sau khi kẹt ở giai đoạn TLS Handshake. Hầu hết thời gian, trang chỉ kẹt đó và màn hình trắng hoặc đen.

Dưới đây là một số nguyên nhân phổ biến của lỗi TLS Handshake:

  • Sai System Time (Thời gian hệ thống) – Nghĩa là cấu hình thời gian và ngày của máy tính không chính xác.
  • Protocol không khớp (Mismatched Protocol) – Giao thức trình duyệt dùng không được server hỗ trợ.
  • Lỗi trình duyệt (Browser Error) – Một cài đặt trình duyệt gây ra lỗi.
  • Bên thứ ba (Third-party) – Bên thứ ba chặn, thao túng, hoặc can thiệp kết nối.
  • Cipher Suite không khớp – Server không hỗ trợ Cipher Suite client dùng.
  • Chứng chỉ không chính xác – Do chứng chỉ không hoàn chỉnh hoặc không hợp lệ, hostname URL sai, chứng chỉ SSL/TLS bị thu hồi hoặc hết hạn, hoặc lỗi xây dựng đường dẫn trong chứng chỉ tự ký.

Cách khắc phục lỗi TLS Handshake trên Firefox

Nếu trình duyệt Firefox bị kẹt ở TLS Handshake và tải lại không giải quyết, có thể có vấn đề ở đâu đó. Dưới đây là một số cách giải quyết vấn đề TLS Handshake trên Firefox.

Xóa Cache và Lịch sử duyệt web.

Điều đầu tiên cần làm khi gặp vấn đề với trình duyệt là xóa tất cả dữ liệu cache và lịch sử. Để làm điều này:

  1. Nhấp biểu tượng History (Lịch sử) ở góc trên bên phải menu trên cùng.
  2. Chọn History từ menu dropdown.
  3. Nhấp Clear Recent History (Xóa lịch sử gần đây).
  4. Chọn khoảng thời gian muốn xóa (Giờ vừa qua, 2 giờ qua, 4 giờ qua, Hôm nay, hoặc Everything)
  5. Chọn (tick) tất cả mục bạn muốn xóa. Bạn có thể xóa lịch sử duyệt web và tải xuống, đăng nhập hoạt động, cookie, cache, lịch sử form và tìm kiếm, tùy chọn trang web, và dữ liệu trang web ngoại tuyến.
  6. Nhấp nút Clear Now (Xóa ngay).

Khi đang làm, bạn cũng nên xóa tất cả tệp không cần thiết trên máy tính để chắc chắn không tệp hỏng nào can thiệp vào quy trình. Bạn có thể dùng công cụ như Outbyte PC Repair để xóa tất cả tệp rác khỏi máy tính.

Sau khi xóa lịch sử trình duyệt, cache, và tệp rác, thử mở website trước đó không tải được để xem việc dọn dẹp có hiệu quả không.

Sử dụng Profile mới.

Nếu xóa dữ liệu cache và lịch sử Firefox không hiệu quả, bước tiếp theo là tạo profile Firefox mới. Dùng profile mới giống như bắt đầu từ trang giấy trắng vì đôi khi có cài đặt cá nhân hóa can thiệp vào quy trình. Phương pháp này cũng xác định xem vấn đề do cài đặt Firefox hay do thứ khác.

Để tạo profile mới, làm theo các bước:

  1. Nhập about:profiles vào thanh địa chỉ và nhấn Enter.
  2. Khi cửa sổ Profile Manager mở, nhấp nút Create a New Profile (Tạo profile mới).
  3. Làm theo Create Profile Wizard (Phép thuật tạo profile) để thiết lập cài đặt và tùy chọn cá nhân.
  4. Khi profile hoàn tất, nhấp Set as default profile (Đặt làm profile mặc định), sau đó đóng Firefox.

Khởi động lại Firefox với profile người dùng mới và kiểm tra xem vấn đề TLS Handshake đã được giải quyết chưa.

Bạn có thể thử sửa profile cũ nhưng cách ly nguyên nhân sẽ khó khăn và tốn thời gian. Bạn cần tắt rồi bật lại add-ons, kiểm tra lại proxy, và gỡ extensions. Nếu bạn lo mất dữ liệu, bạn có thể chuyển chúng sang profile mới để tránh phiền toái.

Kiểm tra chứng chỉ tự ký (Self-Signed Certificates) cho thông tin trùng lặp.

Nếu bạn là developer hoặc truy cập website nội bộ, Firefox có thể gặp khó khăn phân tích chứng chỉ SSL của bạn. Nếu chứng chỉ website đã được thay thế nhiều lần và chứng chỉ mới chứa thông tin subject và issuer trùng lặp, Firefox sẽ bị nghẹn bởi số lượng tổ hợp đường dẫn có thể và bắt đầu chậm lại. Bạn sẽ nhận thấy Firefox chậm khi có 7-8 chứng chỉ tự ký lưu trữ, trong khi 10 trở lên sẽ khiến trình duyệt treo khi thực hiện TLS Handshake.

Để xác nhận chứng chỉ tự ký có gây vấn đề Firefox không, làm theo hướng dẫn:

  1. Khởi chạy Firefox và nhập about:support vào thanh địa chỉ.
  2. Nhấp nút Open Folder (Mở thư mục) ở trường Profile Folder.
  3. Tìm tệp cert8.db và đổi tên để Firefox thay thế khi trình duyệt khởi động lại.
  4. Khởi động lại Firefox và truy cập website bị ảnh hưởng lần nữa.

Nếu trang tải thành công, nghĩa là cơ sở dữ liệu chứng chỉ cục bộ thực sự gây vấn đề Firefox. Để giải quyết, bạn cần điều chỉnh cách hệ thống tạo chứng chỉ mới để chúng không có thông tin trùng lặp.

Tắt TLS Handshake trên Firefox

Nếu các giải pháp trên không hiệu quả, bạn có thể thử tắt TLS trên trình duyệt.

Để làm điều này:

  1. Mở menu Firefox và nhấp Options (Tùy chọn).
  2. Nhấp tab Advanced (Nâng cao), sau đó Encryption (Mã hóa).
  3. Bỏ chọn Use SSL 3.0 và Use TLS 1.0.
  4. Nhấp nút OK.
  5. Khởi động lại Firefox.

Điều này nên tắt TLS Handshake mỗi khi bạn truy cập trang web bằng Firefox.

Tóm tắt

Vấn đề bị kẹt ở thông báo "Performing TLS handshake" là vấn đề mơ hồ với nhiều nguyên nhân tiềm ẩn khác nhau. Bạn có thể thử bất kỳ hoặc tất cả giải pháp trên để xem cái nào giải quyết vấn đề của bạn.