Lỗi chứng chỉ SSL khi dùng proxy: kiểm tra giờ hệ thống, phần mềm và cấu hình

Cập nhật:

Một proxy HTTP/HTTPS bình thường không thay đổi chứng chỉ SSL của website. Khi bạn mở trang HTTPS qua proxy, trình duyệt tạo một đường hầm qua proxy và bắt tay mã hoá trực tiếp với website, nên chứng chỉ bạn thấy vẫn là chứng chỉ thật của website đó. Vì vậy khi gặp lỗi chứng chỉ SSL lúc dùng proxy, nguyên nhân thường nằm trên máy bạn: giờ hệ thống sai, antivirus hoặc phần mềm quét HTTPS chèn chứng chỉ riêng, hệ điều hành thiếu chứng chỉ gốc mới, hoặc code ghi sai giao thức của proxy. Bài này giúp bạn tìm đúng nguyên nhân và sửa mà không phải tắt kiểm tra chứng chỉ.

Proxy riêng, không chèn chứng chỉ

Proxy HTTP xử lý HTTPS như thế nào

Khi trình duyệt cần mở https://example.com qua proxy, nó gửi lệnh CONNECT example.com:443 tới proxy. Proxy mở kết nối tới website rồi chuyển tiếp dữ liệu hai chiều mà không đọc được nội dung. Toàn bộ phần bắt tay SSL, kiểm tra chứng chỉ và mã hoá diễn ra giữa trình duyệt và website. Proxy chỉ thấy tên miền và lượng dữ liệu.

Điều này có hai hệ quả. Một, proxy không làm lưu lượng an toàn hơn hay kém an toàn hơn so với HTTPS vốn có; proxy không phải VPN và không thêm lớp mã hoá nào, như đã giải thích trong bài proxy và VPN khác nhau thế nào. Hai, nếu chứng chỉ bạn nhận được không phải của website, nghĩa là có phần mềm nào đó đang đứng giữa, và cần tìm ra nó.

Bảng lỗi thường gặp

Thông báoNguyên nhân thường gặpHướng xử lý
NET::ERR_CERT_DATE_INVALIDGiờ hoặc ngày trên máy saiBật đồng bộ giờ tự động
NET::ERR_CERT_AUTHORITY_INVALIDPhần mềm quét HTTPS hoặc mạng công ty chèn chứng chỉ riêngKiểm tra bên phát hành chứng chỉ, tắt quét HTTPS
SSL: CERTIFICATE_VERIFY_FAILED (Python)Thiếu chứng chỉ gốc hoặc môi trường có chứng chỉ chènCập nhật gói chứng chỉ, kiểm tra biến môi trường
wrong version numberGhi https:// cho địa chỉ proxy trong khi proxy nhận HTTP thườngDùng http://ip:port làm địa chỉ proxy
Lỗi chỉ xảy ra trên một websiteWebsite có vấn đề chứng chỉ, không liên quan proxyThử mở không qua proxy để so sánh

Bước 1: kiểm tra giờ hệ thống

Chứng chỉ có ngày bắt đầu và ngày hết hạn. Nếu đồng hồ máy bạn lệch nhiều, mọi chứng chỉ đều bị coi là chưa có hiệu lực hoặc đã hết hạn. Lỗi này hay gặp trên máy ảo mới khôi phục, máy hết pin CMOS, hoặc khi bạn chỉnh tay múi giờ để khớp với proxy nhưng lại chỉnh sai giờ.

Cách sửa: bật đồng bộ thời gian tự động trong cài đặt ngày giờ của Windows hoặc macOS. Nếu muốn trình duyệt có múi giờ khớp với quốc gia proxy, hãy đặt múi giờ trong profile trình duyệt antidetect thay vì đổi giờ hệ thống; xem bài khớp múi giờ và ngôn ngữ với proxy.

Bước 2: xem ai phát hành chứng chỉ

Trên Chrome, bấm vào biểu tượng bên trái thanh địa chỉ, chọn mục kết nối an toàn rồi xem chứng chỉ. Nhìn vào dòng tổ chức phát hành. Nếu tên đó là một phần mềm diệt virus, một công cụ debug như Fiddler hay Charles, hoặc tên công ty bạn, thì phần mềm đó đang giải mã HTTPS của bạn.

Antivirus quét HTTPS thường cài chứng chỉ gốc riêng vào hệ thống để trình duyệt tin tưởng. Khi đi qua proxy, một số sản phẩm xử lý không đúng đường hầm và gây lỗi. Tắt tạm tính năng quét web hoặc quét HTTPS để thử, rồi thêm ngoại lệ thay vì tắt hẳn. Nếu là mạng công ty, hãy hỏi bộ phận IT trước khi dùng proxy riêng trên máy công ty.

Bước 3: lỗi SSL trong code và công cụ dòng lệnh

Lỗi phổ biến nhất trong code là ghi địa chỉ proxy bằng https://. Với proxy HTTP/HTTPS thông thường, địa chỉ proxy vẫn là http://user:pass@ip:port, kể cả khi website đích dùng HTTPS. Chữ HTTPS trong tên loại proxy nghĩa là proxy chuyển tiếp được trang HTTPS, không có nghĩa là bạn kết nối tới proxy bằng SSL.

Ví dụ đúng với Python requests:

  • proxies = {"http": "http://user:pass@ip:port", "https": "http://user:pass@ip:port"}
  • requests.get("https://api.ipify.org", proxies=proxies, timeout=15)
  • Nếu vẫn báo CERTIFICATE_VERIFY_FAILED, cập nhật gói certifi và kiểm tra biến REQUESTS_CA_BUNDLE hay SSL_CERT_FILE có trỏ tới file lạ không.
  • Với curl, so sánh kết quả khi có và không có -x. Nếu không có proxy cũng lỗi, vấn đề không nằm ở proxy.

Đừng tắt kiểm tra chứng chỉ

Các mẹo như curl -k, verify=False hay bấm Tiếp tục bất chấp cảnh báo làm lỗi biến mất nhưng cũng tắt luôn lớp bảo vệ giúp bạn biết mình đang nói chuyện với đúng website. Chỉ dùng chúng trong vài giây để chẩn đoán, không đưa vào code chạy thật và không dùng khi đăng nhập tài khoản. Nếu cần tích hợp proxy vào code, xem hướng dẫn Python requests với proxy hoặc Node.js axios.

Khi nào nghi ngờ proxy

Một proxy riêng của nhà cung cấp uy tín không có lý do gì để chèn chứng chỉ. Nếu bạn đã loại trừ giờ hệ thống, phần mềm trên máy và cấu hình code, mà chứng chỉ vẫn do một bên lạ phát hành chỉ khi đi qua một proxy cụ thể, hãy ngừng đăng nhập tài khoản qua proxy đó và báo cho nhà cung cấp. Với proxy của VinaProxy, gửi ticket kèm IP proxy, website và ảnh chụp thông tin chứng chỉ. Đây cũng là lý do không nên dùng proxy miễn phí trôi nổi cho tài khoản quan trọng; xem thêm rủi ro của proxy giá rẻ.

Câu hỏi thường gặp

Proxy có làm hỏng chứng chỉ SSL không?

Proxy HTTP/HTTPS bình thường chỉ tạo đường hầm và không thay chứng chỉ. Lỗi chứng chỉ thường do giờ hệ thống, phần mềm quét HTTPS hoặc cấu hình sai trên máy bạn.

Có nên bấm tiếp tục khi trình duyệt cảnh báo chứng chỉ?

Không, nhất là khi đăng nhập tài khoản. Hãy tìm nguyên nhân trước; cảnh báo này tồn tại để bảo vệ bạn khỏi bị nghe lén.

Trong code nên ghi proxy là http hay https?

Với proxy HTTP/HTTPS thông thường, ghi http://user:pass@ip:port cho cả hai khoá http và https. Website đích vẫn dùng HTTPS bình thường qua đường hầm.

Vì sao chỉ một website báo lỗi SSL?

Có thể chính website đó có chứng chỉ hết hạn hoặc cấu hình sai. Mở website khi không bật proxy để so sánh trước khi kết luận.

Đổi múi giờ để khớp proxy có gây lỗi SSL không?

Đổi múi giờ thì không, nhưng chỉnh tay giờ hệ thống sai thì có. Hãy đặt múi giờ trong profile trình duyệt và để giờ hệ thống tự đồng bộ.

Proxy riêng, không chèn chứng chỉ

Proxy HTTP/HTTPS dùng riêng, IP cố định, xác thực user và mật khẩu. Kích hoạt tự động sau khi thanh toán, hỗ trợ ticket 24/7.

Xem bảng giá

Bài viết liên quan

Cài đặt proxy
Cách cấu hình proxy HTTP(S) trong Python Requests chuẩn kỹ thuật
Hướng dẫn gắn proxy HTTP(S) có username và password vào thư viện Python requests, requests.Session(), xử lý lỗi ProxyError 407 và xoay vòng bể IP.
Kiến thức proxy
Proxy và VPN: khác nhau ở đâu, khi nào dùng loại nào
Proxy và VPN khác nhau ở phạm vi, mã hóa, DNS và số IP dùng cùng lúc. Bảng so sánh, khi nào dùng loại nào và cách tự kiểm tra IP bạn đang dùng.
Lỗi proxy
Lỗi ERR_TUNNEL_CONNECTION_FAILED khi dùng proxy
ERR_TUNNEL_CONNECTION_FAILED nghĩa là Chrome đã tới proxy nhưng không mở được đường hầm HTTPS. Cách đọc mã CONNECT, sửa trên Chrome, Puppeteer, Android.
Kiến thức proxy
Proxy giá rẻ có nên mua không?
Proxy giá rẻ có nên mua không? Giải thích vì sao proxy rẻ: IP dùng chung, IP bẩn, bán vượt tải. Khi nào giá rẻ vẫn đủ dùng và cách mua rẻ mà vẫn an toàn.
Sản phẩm
Proxy tĩnh (IP tĩnh dân cư ISP) Việt Nam & Mỹ
Mua proxy tĩnh ISP dân cư tại Mỹ và Việt Nam: IP đăng ký nhà mạng dân dụng, mỗi IP chỉ một khách dùng, băng thông không giới hạn. Xem giá và mua ngay.
Sản phẩm
Proxy IPv4 datacenter riêng
Mua, thuê proxy IPv4 datacenter riêng tại Mỹ, Việt Nam, Nhật Bản, Hàn Quốc, Singapore, Anh, Hồng Kông. HTTP(S), băng thông không giới hạn, kích hoạt tự động.
ISP · vietnam
Proxy ISP tĩnh Việt Nam: IP mạng gia đình cho các tài khoản giá trị nhất của bạn
Proxy dân cư tĩnh Việt Nam (ISP tĩnh): proxy IP tĩnh từ nhà mạng dân cư cho shop Shopee chính, TikTok Shop, tài khoản quảng cáo Facebook và Zalo OA.
IPV4 · united states
Proxy IPv4 riêng Mỹ: IP datacenter Hoa Kỳ nhanh, dùng riêng và ổn định
Thuê proxy IPv4 Mỹ dùng riêng cho cào dữ liệu, theo dõi thứ hạng, duyệt quảng cáo và nghiên cứu Amazon. IP tĩnh, 1 người 1 IP, băng thông không giới hạn.