Chứng chỉ SSL (SSL certificate) được sử dụng rộng rãi trên hàng triệu trang web để đảm bảo an toàn trong giao dịch trực tuyến. Tuy nhiên, trong quá trình triển khai SSL, có thể phát sinh một số vấn đề, khiến cho trình duyệt hiển thị thông báo lỗi cho người dùng.
Xử lý sự cố kết nối SSL
Khiến cho kết nối SSL gặp sự cố khi bạn cố gắng kết nối với một trang web sử dụng SSL và trình duyệt của bạn không thể tạo kết nối an toàn với máy chủ.
Tùy thuộc vào nguyên nhân gây lỗi kết nối SSL, trình duyệt sẽ xuất hiện các cảnh báo như “This Connection is Untrusted”, “The site's security certificate is not trusted” hoặc “Your Connection is not private”.
Dưới đây, Mytour sẽ hướng dẫn bạn cách khắc phục lỗi kết nối SSL.
Khắc phục lỗi The SSL certificate for this website is not trusted
Trình duyệt Internet sẽ hiển thị thông báo lỗi khi chứng chỉ trang web không được xác nhận bởi một nhà cung cấp chứng thực số (Certificate Authority - CA) đáng tin cậy. Để trình duyệt chấp nhận chứng chỉ, nó phải được kết nối với “chứng chỉ gốc đáng tin cậy” (trusted root certificate).
Chứng chỉ gốc đáng tin cậy được tích hợp trong các trình duyệt như Internet Explorer, Firefox, Chrome và Comodo Dragon. Chúng đóng vai trò là “công cụ tin cậy” để xác minh tính hợp lệ của chứng chỉ trang web. Nếu gặp chứng chỉ không được ký bởi một trong những chứng chỉ gốc này, trình duyệt thông báo rằng đó là chứng chỉ không đáng tin cậy, khách truy cập sẽ thấy thông báo lỗi.
Hầu hết các chứng chỉ gốc đáng tin cậy trên trình duyệt được các nhà cung cấp chứng thực số (Certificate Authority - CA) công nhận. Khi CA ký chứng chỉ cho một trang web, chứng chỉ của trang web được liên kết với một trong những chứng chỉ gốc đáng tin cậy của họ trong kho chứng chỉ trình duyệt.
Vì lý do an ninh, hầu hết các nhà cung cấp chứng thực số - CA không ký chứng chỉ trực tiếp từ chứng chỉ gốc. Thay vào đó, họ sử dụng chứng chỉ Intermediate để tạo ra một “chuỗi tin cậy” (chain of trust) trong chứng chỉ gốc. Trong hệ thống này, chứng chỉ gốc ký chứng chỉ Intermediate và chứng chỉ Intermediate được sử dụng để ký chứng chỉ cho các trang web cụ thể.
Vì vậy, lỗi “Không đáng tin cậy” thường phát sinh từ 1 trong 2 nguyên nhân sau đây:
- Trang web áp dụng chứng chỉ tự ký (Self Signed Certificate)
Trong nhiều trường hợp, lỗi “Không đáng tin cậy” xuất phát từ việc trang web sử dụng chứng chỉ tự ký (Self Signed Certificate). Chứng chỉ tự ký được tạo ra bởi chủ trang web sử dụng phần mềm web server để tạo và tự ký chứng chỉ. Do đó, chứng chỉ này không liên kết với bất kỳ chứng chỉ gốc tin cậy nào trong kho chứng chỉ của trình duyệt, dẫn đến thông báo “Không đáng tin cậy”.
Chứng chỉ tự ký mang lại nhiều lợi ích. Trước hết, chúng được tạo ra miễn phí và thích hợp cho các máy chủ nội bộ. Tuy nhiên, không nên sử dụng chúng trên các trang web thương mại.
- Chứng chỉ Intermediate chưa được cài đặt đúng
Một nguyên nhân khác gây lỗi “Không đáng tin cậy” là khi Admin của trang web không cài đặt đúng tất cả các chứng chỉ Intermediate trên web server. Dưới đây là một ví dụ minh họa cho tình huống này:
Trong sơ đồ trên, bạn có thể thấy chứng chỉ cho www.comodo.com
Khi khách truy cập kết nối với www.comodo.com
Hầu hết các nhà cung cấp chứng thực số (CA) sẽ gửi file CA bundle kèm theo end-entity chứa tất cả các chứng chỉ Intermediate cần thiết cho chủ sở hữu trang web. Tuy nhiên, nếu Admin của web server không cài đặt đúng tất cả các chứng chỉ Intermediate, người dùng sẽ gặp lỗi “Chứng chỉ không đáng tin cậy”.
Lỗi Không Khớp Tên Chứng Chỉ
Lỗi “Không Khớp Tên Chứng Chỉ” xảy ra khi máy chủ hiển thị tên miền (domain) được liệt kê trên chứng chỉ SSL không khớp với tên miền mà trình duyệt đang kết nối. Để bắt đầu phiên HTTPS, tên miền trên chứng chỉ phải khớp chính xác với tên miền trên thanh địa chỉ của trình duyệt.
Dưới đây là một số nguyên nhân gây ra lỗi:
- Trang web/máy chủ được truy cập sử dụng tên máy chủ nội bộ hoặc địa chỉ IP, nhưng chứng chỉ chỉ cấp tên miền đầy đủ (FQDN) (ví dụ: www.domain.com). Truy cập máy chủ bằng cách sử dụng tên máy chủ nội bộ hoặc địa chỉ IP có thể dẫn đến lỗi “Certificate Name Mismatch” nếu chứng chỉ chỉ chứa FQDN.
- Chứng chỉ được cấp cho domain.com, nhưng trên thanh địa chỉ trình duyệt nhập www.domain.com (tính chất www là tên miền phụ của domain.com). Lỗi “Certificate Name Mismatch” có thể xảy ra nhưng ít phổ biến, vì hầu hết các nhà cung cấp chứng thực số cung cấp chứng chỉ duy nhất cho cả domain.com và www.domain.com.
Nếu bạn đối mặt với lỗi “Certificate Name Mismatch”, sử dụng chứng chỉ Wildcard có thể giúp khắc phục, vì nó bảo vệ tự động tất cả các tên miền phụ của domain.com.
- Lỗi Certificate Name Mismatch có thể xảy ra khi nhiều trang web được lưu trữ trên cùng một địa chỉ IP, thường gặp trong môi trường chia sẻ lưu trữ. Trong kết nối HTTP, trình duyệt thông báo cho máy chủ biết miền nào nó muốn kết nối với host header.
Tuy nhiên, khi thực hiện kết nối HTTPS, việc sử dụng SSL đồng nghĩa với việc trình duyệt yêu cầu chứng chỉ từ máy chủ trước khi xuất trình host header. Điều này dẫn đến tình trạng máy chủ không có thông tin để xác định chứng chỉ nào cần gửi và có thể xuất trình chứng chỉ sai.
Nếu chỉ có một trang web và một chứng chỉ trên một địa chỉ IP, lỗi không nằm ở đây. Tuy nhiên, nếu có nhiều trang web trên cùng một địa chỉ IP, máy chủ có thể cung cấp chứng chỉ cho tên miền sai. Sử dụng chứng chỉ Multi-Domain có thể ngăn chặn tình trạng này, cho phép thêm tất cả các trang web và tên máy chủ vào trường Subject Alternative Name (SAN) của chứng chỉ.
Lỗi Mixed content
Để đảm bảo kết nối an toàn, khi sử dụng HTTPS, tất cả nội dung trên trang cần được lấy từ nguồn an toàn. Điều này áp dụng cho hình ảnh, video, iframes, flash movies và Javascripts. Nếu có bất kỳ mục nào không được lấy từ nguồn an toàn, khách truy cập sẽ nhận thông báo lỗi tương tự như dưới đây:
Nếu khách truy cập lựa chọn Có, toàn bộ nội dung sẽ xuất hiện, nhưng kết nối sẽ quay lại làm việc trên HTTP không an toàn. Nếu chọn Không, chỉ những nội dung an toàn mới sẽ hiển thị. Điều này có nghĩa là một số video và hình ảnh cụ thể sẽ không xuất hiện hoặc trang web sẽ không thực thi các đoạn mã quan trọng. Bất kể cách nào, đây đều là dấu hiệu tiêu cực gửi đến người truy cập trang web của bạn.
Dưới đây là những bước mà các quản trị viên trang web có thể thực hiện để khắc phục vấn đề kết nối SSL Mixed content:
- Tránh gọi bất kỳ nội dung không an toàn nào qua HTTP hoặc cổng số 80. Chuyển đổi tất cả các liên kết từ HTTP sang HTTPS và đảm bảo rằng SSL được thiết lập ổn định. Nếu sử dụng tên miền con để lưu trữ phần tử trang web, một chứng chỉ Wildcard có thể hữu ích.
- Sử dụng liên kết tương đối thay vì liên kết tuyệt đối trên trang web. Ví dụ: thay vì sử dụng src = http://mydomain.com/my-script.js, bạn có thể sử dụng scr = / my-script.js. Nếu trang chủ của bạn được truy cập thông qua HTTPS, trình duyệt sẽ tải /my-script.js qua HTTPS. Kỹ thuật này cũng hữu ích nếu trang web của bạn tham chiếu nội dung bên ngoài từ máy chủ qua HTTP (ví dụ như YouTube hoặc Google Analytics).
- Triển khai SSL trên toàn bộ trang web của bạn để tăng cường bảo mật cho khách truy cập và cải thiện thứ hạng SEO theo tiêu chí của Google.
Lưu ý rằng việc triển khai SSL trên toàn bộ trang web có nghĩa là bạn sẽ có hai bản sao nội dung. Bạn cần thông báo cho công cụ tìm kiếm về phiên bản nào được ưu tiên. Để làm điều này:
+ Cập nhật liên kết để trỏ đến phiên bản HTTPS và điều chỉnh XML sitemap để tham chiếu đến nội dung HTTPS. Những điều này giúp công cụ tìm kiếm chỉ mục phiên bản SSL và hiển thị nó trong kết quả tìm kiếm.
+ Đảm bảo rằng robots.txt có sẵn trên HTTPS.
+ Sử dụng chuyển hướng 301 vĩnh viễn để chuyển hết yêu cầu HTTP sang phiên bản HTTPS, giúp cải thiện thứ hạng trang trên công cụ tìm kiếm.
+ Cập nhật các công cụ webmaster để liên kết đến phiên bản HTTPS thay vì HTTP.
Dưới đây là một số cách khắc phục lỗi kết nối SSL. Nếu bạn đang gặp phải vấn đề này, hãy thử áp dụng một trong những phương pháp sau đây:
Ngoài ra, khi truy cập các trang web phổ biến như Facebook, Gmail, bạn cũng có thể gặp phải lỗi kết nối SSL. Mytour có thể giúp bạn khắc phục vấn đề khi truy cập Facebook, Gmail và các trang web khác.
Nếu có thắc mắc gì cần tư vấn, hãy để lại nhận xét của bạn dưới phần bình luận. Chúng tôi sẽ rất vui lòng giúp đỡ!
