Fix lỗi Secure Connection Failed trên trình duyệt Firefox

Khi một trang báo lỗi *Secure Connection Failed * sẽ bao gồm mô tả lỗi, tùy chọn báo cáo lỗi cho Mozilla và nút Try Again. Không có tùy chọn để thêm một ngoại lệ bảo mật để bỏ qua loại lỗi này.

Liên quan tới lỗi này có rất nhiều các trường hợp khác nhau, và dưới đây chỉ là một trường hợp tôi đã gặp phải , cụ thể như sau:

Secure Connection Failed

Error code: MOZILLA_PKIX_ERROR_REQUIRED_TLS_FEATURE_MISSING

Lưu ý: Chỉ gặp lỗi này trên Firefox.

1. Tìm nguyên nhân

Kiểm tra chứng chỉ ssl

openssl s_client -connect example.com:443 -status

Đầu ra:

CONNECTED(00000003)
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = R3
verify return:1
depth=0 CN = example.com
verify error:num=9:certificate is not yet valid
notBefore=May 13 01:40:21 2021 GMT
verify return:1
depth=0 CN = example.com
notBefore=May 13 01:40:21 2021 GMT
verify return:1
OCSP response: no response sent
---
...

    Start Time: 1620823720
    Timeout   : 7200 (sec)
    Verify return code: 9 (certificate is not yet valid)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK

Chú ý dòng Verify return code: 9 (certificate is not yet valid)
Lỗi này có nghĩa là ngày phát hành chứng chỉ được cung cấp là trong tương lai, vì vậy clients sẽ không coi nó là hợp lệ. Điều này có thể do chứng chỉ được xây dựng kém hoặc trong trường hợp chứng chỉ tự ký, có thể do thời gian của thiết bị bị sai khi tạo chứng chỉ.

Bạn sẽ thấy một dòng trong lỗi bao gồm notBefore ngày của chứng chỉ:

...
verify return:1
depth=0 CN = example.com
notBefore=May 13 01:40:21 2021 GMT
...

Kiểm tra thời gian của server

root@vps3:~# date

Wed 12 May 2021 08:17:24 PM +07

Qua so sánh, ta thấy rằng thời gian server chậm hơn thời gian thực tế, phù hợp với mã lỗi: Verify return code: 9 (certificate is not yet valid)

2. Khắc phục

Cập nhật ngày tháng server theo ngày thực tế. Ví dụ ngày thực tế là 13 tháng 05 năm 2021, ta viết rút gọn lại thành: 20210513. Chạy lệnh sau để cập nhật ngày tháng.

date +%Y%m%d -s "20210513"

Cập nhật thời gian
Ví dụ thời gian thực tế khi nhấn phím Enter để chạy lện dưới là 15 giờ 26 phút

date +%T -s "15:26:00"

Chạy lại lệnh date để kiểm tra.

3. Kết quả

Chạy lại lệnh sau để kiểm tra:

openssl s_client -connect example.com:443 -status

Đầu ra

...

    Start Time: 1620894418
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK

Chú ý dòng Verify return code: 0 (ok), mã lỗi trả về 0 tức là vấn đề đã được giải quyết.

4. Khác

Cách trên cũng giải quyết thông báo cURL error 60: SSL certificate problem: certificate is not yet valid của Plugin really simple ssl.

The mixed content fixer could not be detected due to a cURL error: cURL error 60: SSL certificate problem: certificate is not yet valid . cURL errors are often caused by an outdated version of PHP or cURL and don’t affect the front-end of your site. Contact your hosting provider for a fix.