Chẩn đoán và khắc phục lỗi ERR_SSL_PROTOCOL_ERROR cho các dịch vụ tự host
Một hướng dẫn kỹ thuật giải thích nguyên nhân gây ra lỗi giao thức SSL trên Chrome, cung cấp các bước xử lý sự cố cho cả người truy cập và quản trị viên máy chủ khi gặp lỗi bắt tay TLS.
Bài được dịch tự động từ bản gốc tiếng Anh.
Khi trình duyệt hiển thị lỗi ERR_SSL_PROTOCOL_ERROR, kết nối bảo mật sẽ thất bại trước khi bất kỳ dữ liệu nào được truyền đi. Bài viết này từ DEV Community, xuất bản vào ngày 28 tháng 10 năm 2026, phân tích lý do tại sao lỗi bắt tay này xảy ra và cung cấp các bước khắc phục cụ thể cho cả người dùng cuối và quản trị viên hệ thống đang quản lý cơ sở hạ tầng của riêng họ.
Điều gì đã xảy ra
Tác giả Romail Shah giải thích rằng HTTPS phụ thuộc vào một quy trình đàm phán nghiêm ngặt, trong đó máy khách và máy chủ phải thống nhất phiên bản TLS và bộ mã hóa (cipher suite) trước khi trao đổi nội dung. Khi quá trình đàm phán này sụp đổ, Chrome trả về mã lỗi -107, chỉ ra phản hồi không hợp lệ. Bài viết phân biệt điều này với lỗi ERR_SSL_VERSION_OR_CIPHER_MISMATCH, vốn thường chỉ ra cấu hình máy chủ lỗi thời, trong khi lỗi giao thức thường bắt nguồn từ chứng chỉ bị cấu hình sai hoặc sự can thiệp từ mạng.
Đối với chủ sở hữu trang web, hướng dẫn xác định năm nguyên nhân chính gây ra những lỗi này. Bao gồm: thiếu chứng chỉ sau khi di chuyển máy chủ, máy chủ được cấu hình chỉ hỗ trợ các phiên bản TLS đã ngừng sử dụng như 1.0 hoặc 1.1, tường lửa chặn cổng 443, chế độ mã hóa Cloudflare không đúng, hoặc chuỗi chứng chỉ không hoàn chỉnh. Văn bản nhấn mạnh rằng chứng chỉ không tự động chuyển cùng với các tệp trang web trong quá trình di chuyển, một sơ suất phổ biến khiến máy chủ mới không có thông tin đăng nhập hợp lệ cho tên miền của chúng.
Chi tiết quan trọng
- Chrome định nghĩa ERR_SSL_PROTOCOL_ERROR là lỗi -107, nghĩa là máy chủ đã gửi một phản hồi không hợp lệ trong quá trình bắt tay TLS.
- Người truy cập nên đầu tiên kiểm tra đồng hồ hệ thống, tắt tính năng quét HTTPS của phần mềm diệt virus và thử nghiệm trên các mạng khác nhau để loại trừ các vấn đề cục bộ.
- Quản trị viên máy chủ phải đảm bảo cấu hình của họ hỗ trợ TLS 1.2 và 1.3, vì RFC 8996 yêu cầu ngừng sử dụng các giao thức cũ hơn.
- Việc thiếu các chứng chỉ trung gian trong chuỗi có thể gây ra lỗi ngắt quãng, đòi hỏi toàn bộ chuỗi phải có mặt trong tệp cấu hình máy chủ.
- Người dùng Cloudflare phải khớp chế độ SSL của họ (Full, Full Strict hoặc Flexible) với khả năng thực tế của máy chủ gốc để tránh lỗi bắt tay.
- Lệnh
openssl s_client -connect example.com:443 -servername example.comgiúp xác minh chứng chỉ mà máy chủ thực sự trình bày cho máy khách.
Bối cảnh
Secure Sockets Layer (SSL) và phiên bản kế nhiệm của nó, Transport Layer Security (TLS), mã hóa giao tiếp giữa trình duyệt và máy chủ. Bắt tay là giai đoạn ban đầu mà hai bên xác thực lẫn nhau và thiết lập các khóa mã hóa. Server Name Indication (SNI) cho phép nhiều trang web với các chứng chỉ khác nhau nằm trên cùng một địa chỉ IP bằng cách chỉ định tên máy chủ trong quá trình bắt tay. Nếu máy chủ không có chứng chỉ khớp với tên máy chủ đó, nó có thể trình bày một chứng chỉ mặc định hoặc không có chứng chỉ nào, khiến trình duyệt từ chối kết nối ngay lập tức.
Các tổ chức phát hành chứng chỉ (Certificate Authorities) cấp các chứng chỉ số để xác thực danh tính của máy chủ. Các chứng chỉ này có thời hạn hiệu lực và phải được liên kết chính xác từ chứng chỉ lá (leaf certificate) đến một cơ quan gốc đáng tin cậy. Các trình duyệt hiện đại áp dụng các tiêu chuẩn bảo mật nghiêm ngặt, từ chối các kết nối sử dụng giao thức lỗi thời hoặc chuỗi không hoàn chỉnh. Hiểu rõ các cơ chế này là điều cần thiết đối với bất kỳ ai chạy ứng dụng tự host, vì các lỗi cấu hình thủ công là nguyên nhân phổ biến nhất gây ra thời gian chết.
Tại sao điều này quan trọng
Đối với các nhóm quản lý phần mềm tự host, lỗi SSL đại diện cho rủi ro khả dụng tức thì. Khác với các lỗi ứng dụng có thể làm giảm hiệu suất, lỗi bắt tay TLS chặn mọi quyền truy cập vào dịch vụ. Điều này đặc biệt quan trọng trong quá trình di chuyển hoặc cập nhật cơ sở hạ tầng, nơi các thay đổi DNS và việc cấp phát chứng chỉ phải được đồng bộ hóa. Sự không khớp ở đây có thể khiến dịch vụ không thể truy cập trong nhiều giờ trong khi quản trị viên chẩn đoán xem vấn đề nằm ở mạng, cấu hình máy chủ web hay chính chứng chỉ.
Hơn nữa, việc dựa vào các proxy bên ngoài như Cloudflare giới thiệu thêm phức tạp. Nếu chế độ mã hóa giữa proxy và máy chủ gốc không được căn chỉnh đúng, người dùng sẽ gặp lỗi ngay cả khi máy chủ gốc về mặt kỹ thuật vẫn hoạt động tốt. Quản trị viên phải hiểu cách các lớp này tương tác để xử lý sự cố hiệu quả. Bỏ qua các chi tiết này có thể dẫn đến thời gian ngừng hoạt động kéo dài, đặc biệt khi các quy trình gia hạn tự động thất bại âm thầm do trôi dạt cấu hình hoặc quy tắc tường lửa chặn các thách thức xác thực.
Bạn có thể làm gì
- Xác minh cấu hình TLS của máy chủ bằng OpenSSL để đảm bảo nó trình bày đúng chứng chỉ cho tên máy chủ được yêu cầu.
- Cập nhật cấu hình máy chủ web để kích hoạt rõ ràng TLS 1.2 và 1.3 đồng thời vô hiệu hóa các phiên bản giao thức cũ, không an toàn.
- Kiểm tra xem tường lửa của bạn có cho phép lưu lượng inbound trên cổng 443 và máy chủ web của bạn có đang lắng nghe tích cực trên cổng đó với SSL được bật hay không.
- Nếu sử dụng CDN hoặc proxy, hãy xác nhận rằng chế độ SSL khớp với thiết lập của máy chủ gốc, kiểm tra trực tiếp với IP gốc nếu cần.
- Đảm bảo chuỗi chứng chỉ của bạn bao gồm tất cả các chứng chỉ trung gian, được sắp xếp đúng thứ tự với chứng chỉ lá đứng đầu, để ngăn ngừa lỗi xác thực trên một số máy khách.
- Giám sát chủ động ngày hết hạn của chứng chỉ để tránh các trường hợp hết hạn gây ra lỗi bắt tay, đặc biệt sau khi di chuyển dịch vụ sang cơ sở hạ tầng mới.



