ERR_CERT_DATE_INVALID: что значит ошибка и как исправить

ERR_CERT_DATE_INVALID означает, что браузер обнаружил проблему со сроком действия SSL-сертификата. Обычно ошибка появляется, когда сертификат сайта истёк, ещё не начал действовать или на устройстве пользователя неправильно выставлены дата и время.

Чаще всего ошибка встречается в Google Chrome, но похожие сообщения могут появляться в Firefox, Edge, Safari и мобильных браузерах. Проблема может быть как на стороне пользователя, так и на стороне владельца сайта.

Quick Fix

  • Проверьте дату, время и часовой пояс на компьютере или телефоне.
  • Включите автоматическую синхронизацию времени.
  • Обновите страницу через Ctrl + F5.
  • Откройте сайт в режиме инкогнито.
  • Очистите кэш браузера и SSL state.
  • Отключите VPN, прокси и HTTPS scanning в антивирусе.
  • Если вы владелец сайта, проверьте срок действия SSL-сертификата.
  • Продлите или перевыпустите SSL-сертификат.
  • Проверьте автоматическое продление Let’s Encrypt.
  • Если сайт работает через Cloudflare, проверьте SSL/TLS и origin certificate.

Что означает ERR_CERT_DATE_INVALID

ERR_CERT_DATE_INVALID — это ошибка SSL-сертификата, связанная с датой. Браузер проверяет, действителен ли сертификат сайта в текущий момент. Если срок действия сертификата не совпадает с текущей датой, соединение блокируется.

SSL-сертификат имеет две важные даты:

  • Not Before — дата, с которой сертификат начинает действовать;
  • Not After — дата, после которой сертификат считается просроченным.

Если текущая дата на устройстве пользователя находится вне этого диапазона, браузер покажет ошибку.

Как выглядит ошибка

В Google Chrome сообщение обычно выглядит так:

Your connection is not private
NET::ERR_CERT_DATE_INVALID

Также могут встречаться похожие ошибки:

  • ERR_CERT_DATE_INVALID
  • NET::ERR_CERT_DATE_INVALID
  • SEC_ERROR_EXPIRED_CERTIFICATE
  • SSL_ERROR_BAD_CERT_DOMAIN
  • Certificate has expired
  • The certificate is not yet valid
  • Your clock is ahead
  • Your clock is behind

Если ошибка появляется только у одного пользователя, часто виноваты дата и время на его устройстве. Если ошибка у всех посетителей, почти наверняка проблема в SSL-сертификате сайта.

Основные причины ERR_CERT_DATE_INVALID

1. Неправильная дата и время на устройстве

Это самая простая и частая причина на стороне пользователя. Если на компьютере или телефоне стоит неправильная дата, браузер может считать нормальный сертификат недействительным.

Например:

  • на компьютере стоит дата из прошлого года;
  • время сбилось после разрядки батареи;
  • выбран неправильный часовой пояс;
  • отключена автоматическая синхронизация времени;
  • системные часы сильно спешат или отстают.

2. SSL-сертификат сайта истёк

Если сертификат просрочен, браузеры перестают ему доверять. Это частая проблема на сайтах, где не настроено автоматическое продление SSL.

Владелец сайта может увидеть, что сертификат закончился вчера, неделю назад или даже несколько месяцев назад. До продления пользователи будут видеть предупреждение о небезопасном соединении.

3. Сертификат ещё не начал действовать

Иногда сертификат установлен, но его период действия начинается позже текущей даты. Это бывает редко, но может произойти из-за ошибки времени на сервере, неправильного сертификата или сбоя при установке.

4. Не работает автоматическое продление Let’s Encrypt

Let’s Encrypt обычно выдаёт сертификаты на ограниченный срок, поэтому важно, чтобы автопродление работало правильно.

Автопродление может не сработать, если:

  • порт 80 закрыт;
  • порт 443 закрыт;
  • домен указывает на неправильный IP;
  • Cloudflare мешает проверке;
  • Certbot был удалён или повреждён;
  • изменилась конфигурация Nginx или Apache;
  • сервер не смог пройти HTTP-01 challenge;
  • задание cron или systemd timer отключено.

5. Сервер отдаёт старый сертификат

Иногда новый сертификат уже выпущен, но сервер продолжает отдавать старый. Такое бывает, если Nginx или Apache не были перезапущены, указан неправильный путь к сертификату или активен другой VirtualHost.

На одном сервере может быть несколько SSL-файлов, и веб-сервер может использовать не тот, который вы обновили.

6. Cloudflare показывает ошибку сертификата

Если сайт работает через Cloudflare, проблема может быть как на стороне Cloudflare, так и на origin-сервере.

Частые причины:

  • истёк origin certificate;
  • на сервере просрочен Let’s Encrypt;
  • включён Full (strict), но origin-сертификат недействителен;
  • DNS-запись указывает на старый сервер;
  • сервер отдаёт сертификат другого домена;
  • Universal SSL ещё не активировался после подключения домена.

7. Неправильный DNS после миграции

После переноса сайта домен может указывать на старый сервер, где сертификат уже истёк. Владелец сайта проверяет новый хостинг, а посетители всё ещё попадают на старый IP.

Также причиной может быть неправильная AAAA-запись IPv6, которая ведёт на сервер без актуального SSL.

8. Кэш браузера или HSTS

Браузер может сохранять SSL-данные, редиректы и HSTS-настройки. После исправления сертификата ошибка иногда остаётся у отдельных пользователей из-за старого кэша.

9. Антивирус проверяет HTTPS

Некоторые антивирусы перехватывают HTTPS-трафик и подставляют свой сертификат. Если в этой цепочке есть ошибка даты, Chrome может показать ERR_CERT_DATE_INVALID.

Такие настройки могут называться:

  • HTTPS scanning;
  • SSL scanning;
  • Encrypted connections scanning;
  • Web Shield;
  • Safe browsing;
  • Scan secure traffic.

10. Старая операционная система или браузер

На старых устройствах могут быть устаревшие корневые сертификаты. Из-за этого браузер неправильно проверяет цепочку доверия и может показывать SSL-ошибки.

Как исправить ERR_CERT_DATE_INVALID пользователю

1. Проверьте дату и время

Сначала проверьте системные часы. Это самый быстрый шаг.

На Windows:

Параметры → Время и язык → Дата и время

Включите:

  • Установить время автоматически;
  • Установить часовой пояс автоматически;
  • синхронизацию времени с интернет-сервером.

На macOS:

System Settings → General → Date & Time

Включите автоматическую установку даты и времени.

2. Перезапустите браузер

После исправления даты полностью закройте браузер и откройте его заново. Затем попробуйте снова открыть сайт.

3. Откройте сайт в режиме инкогнито

В Chrome используйте:

Ctrl + Shift + N

На Mac:

Command + Shift + N

Если сайт открывается в инкогнито, проблема может быть в кэше, cookies или расширениях браузера.

4. Очистите кэш браузера

В Chrome откройте:

Настройки → Конфиденциальность и безопасность → Очистить данные браузера

Выберите:

  • cookies;
  • кэшированные изображения и файлы;
  • данные сайтов.

После очистки перезапустите браузер.

5. Очистите SSL state на Windows

  1. Откройте меню Start.
  2. Введите Internet Options.
  3. Перейдите во вкладку Content.
  4. Нажмите Clear SSL state.
  5. Перезапустите браузер.

6. Отключите VPN и прокси

VPN или прокси может направлять вас через сервер, который ломает SSL-проверку. Временно отключите VPN и попробуйте открыть сайт напрямую.

Также проверьте сайт через мобильный интернет. Если через мобильную сеть он работает, а через Wi-Fi нет, проблема может быть в сети, DNS, прокси или роутере.

7. Отключите HTTPS scanning в антивирусе

Временно отключите проверку HTTPS/SSL в антивирусе. Не обязательно отключать всю защиту полностью. Достаточно проверить именно функцию сканирования защищённых соединений.

Если после этого сайт открылся, обновите антивирус или измените его SSL-настройки.

8. Обновите браузер и систему

В Chrome откройте:

chrome://settings/help

Установите обновление и перезапустите браузер.

Также проверьте обновления Windows, macOS, Android или iOS. Старые системы могут иметь проблемы с корневыми сертификатами.

9. Сбросьте DNS-кэш

На Windows откройте Command Prompt и выполните:

ipconfig /flushdns

На macOS:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

После этого перезапустите браузер.

10. Попробуйте другой браузер или устройство

Если ошибка остаётся только на одном устройстве, проблема почти точно локальная. Если ошибка появляется на всех устройствах и во всех сетях, проблема на стороне сайта.

Как исправить ERR_CERT_DATE_INVALID владельцу сайта

1. Проверьте срок действия SSL-сертификата

Сначала нужно понять, действительно ли сертификат истёк. В браузере нажмите на значок замка или предупреждение безопасности и посмотрите данные сертификата.

На VPS с Let’s Encrypt можно выполнить:

sudo certbot certificates

Вы увидите список сертификатов и даты окончания.

2. Продлите сертификат Let’s Encrypt

Для ручного продления используйте:

sudo certbot renew

После успешного продления перезагрузите веб-сервер.

Для Nginx:

sudo nginx -t
sudo systemctl reload nginx

Для Apache:

sudo apachectl configtest
sudo systemctl reload apache2

3. Перевыпустите SSL-сертификат

Если продление не помогает, сертификат можно перевыпустить.

Для Nginx:

sudo certbot --nginx -d example.com -d www.example.com

Для Apache:

sudo certbot --apache -d example.com -d www.example.com

Замените example.com на свой домен.

4. Проверьте автоматическое продление

На многих серверах Certbot использует systemd timer. Проверьте:

systemctl list-timers | grep certbot

Также можно проверить:

sudo systemctl status certbot.timer

Тест автопродления:

sudo certbot renew --dry-run

Если dry run проходит успешно, автопродление должно работать нормально.

5. Проверьте, открыт ли порт 80

Для Let’s Encrypt HTTP-01 challenge часто нужен порт 80. Если он закрыт, продление может не пройти.

Проверьте:

sudo ss -tulpn | grep :80

Откройте порт в UFW:

sudo ufw allow 80/tcp
sudo ufw reload

Также проверьте firewall в панели VPS-провайдера.

6. Проверьте, какой сертификат отдаёт сервер

Если сертификат обновлён, но браузер всё равно видит старый, сервер может отдавать неправильный файл.

Проверьте Nginx-конфигурацию:

sudo grep -R "ssl_certificate" /etc/nginx/

Проверьте Apache-конфигурацию:

sudo grep -R "SSLCertificateFile" /etc/apache2/

Убедитесь, что активный сайт использует актуальный fullchain.pem.

7. Перезапустите Nginx или Apache

Иногда новый сертификат уже есть на диске, но веб-сервер продолжает использовать старый до перезагрузки.

Для Nginx:

sudo nginx -t
sudo systemctl reload nginx

Для Apache:

sudo apachectl configtest
sudo systemctl reload apache2

Если reload не помог, можно выполнить полный restart:

sudo systemctl restart nginx

или:

sudo systemctl restart apache2

8. Проверьте DNS-записи

Если домен указывает на старый сервер, продление сертификата на новом сервере не поможет.

Проверьте A-запись:

dig example.com A

Проверьте www:

dig www.example.com A

Проверьте IPv6:

dig example.com AAAA

Если AAAA-запись ведёт на старый сервер, удалите её или настройте SSL для IPv6.

9. Проверьте Cloudflare

Если сайт работает через Cloudflare, проверьте:

  • DNS — домен должен указывать на правильный IP;
  • SSL/TLS mode — обычно Full или Full (strict);
  • Universal SSL — активен ли сертификат Cloudflare;
  • Origin Server — не истёк ли origin certificate;
  • Cache — очистите кэш Cloudflare после исправления.

Если включён Full (strict), origin-сертификат на сервере должен быть действительным. Если он просрочен, Cloudflare может показывать ошибку.

10. Проверьте время на сервере

Если время на сервере сильно сбито, SSL и Certbot могут работать неправильно.

Проверьте дату:

date

Проверьте синхронизацию времени:

timedatectl

Если нужно, включите NTP:

sudo timedatectl set-ntp true

ERR_CERT_DATE_INVALID в WordPress

WordPress сам по себе редко вызывает эту ошибку напрямую. Обычно проблема в SSL-сертификате, хостинге, Cloudflare, DNS или времени на устройстве пользователя.

Но в WordPress стоит проверить:

  • Настройки → Общие — оба URL должны начинаться с https://;
  • нет ли старого домена после миграции;
  • не конфликтует ли SSL-плагин с Cloudflare;
  • не включены ли лишние редиректы в .htaccess;
  • очищен ли кэш сайта;
  • не установлен ли SSL только на одну версию домена.

ERR_CERT_DATE_INVALID после подключения Cloudflare

Если ошибка появилась после подключения Cloudflare, проверьте такой порядок:

  1. Universal SSL в Cloudflare активен.
  2. DNS-запись указывает на правильный IP.
  3. На origin-сервере сертификат не просрочен.
  4. SSL/TLS mode выбран правильно.
  5. Если используется Full (strict), origin-сертификат должен быть валидным.
  6. Cloudflare cache очищен.
  7. Нет старой AAAA-записи на другой сервер.

Для диагностики можно временно переключить DNS-запись с оранжевого облака на серое. Если ошибка остаётся, проблема на origin-сервере или в DNS. Если исчезает, проверьте настройки Cloudflare.

ERR_CERT_DATE_INVALID после миграции сайта

После переноса сайта ошибка часто связана со старым SSL или неправильным DNS.

Проверьте:

  • A-запись домена;
  • AAAA-запись;
  • SSL на новом сервере;
  • активный server block или VirtualHost;
  • Cloudflare DNS;
  • старые сертификаты на сервере;
  • редиректы на старый домен;
  • кэш браузера и CDN.

Advanced Troubleshooting

Проверьте сертификат через OpenSSL

На VPS или локальном компьютере можно проверить сертификат командой:

openssl s_client -connect example.com:443 -servername example.com

В выводе ищите даты действия сертификата. Если сервер отдаёт старый сертификат, проверьте конфиги Nginx или Apache.

Проверьте дублирующиеся SSL-конфиги

На сервере может быть несколько конфигураций для одного домена.

Для Nginx:

sudo grep -R "example.com" /etc/nginx/

Для Apache:

sudo grep -R "example.com" /etc/apache2/

Если домен встречается в нескольких местах, проверьте, какой файл реально активен.

Проверьте default server

Если Nginx не находит подходящий server block, он может отдать сертификат default-сайта. Этот сертификат может быть просрочен или выпущен для другого домена.

Проверьте:

sudo grep -R "default_server" /etc/nginx/

Проверьте логи Certbot

Если автопродление не работает, проверьте логи:

sudo tail -n 100 /var/log/letsencrypt/letsencrypt.log

Там часто видно, почему сертификат не продлился: DNS, firewall, challenge, лимиты, неправильный webroot или ошибка Nginx/Apache.

Проверьте cron-задания

Если используется старый способ автопродления через cron, проверьте:

sudo crontab -l
ls -la /etc/cron.d/

Современные установки часто используют systemd timer, но на старых серверах может быть cron.

Чего не стоит делать

  • Не советуйте посетителям игнорировать предупреждение безопасности.
  • Не отключайте HTTPS полностью без необходимости.
  • Не удаляйте старый сертификат, если не уверены, что новый уже работает.
  • Не меняйте одновременно DNS, Cloudflare, SSL и редиректы без проверки.
  • Не оставляйте сайт с просроченным сертификатом.
  • Не используйте самоподписанный сертификат для публичного сайта, если нужен доверенный HTTPS.

Как предотвратить ERR_CERT_DATE_INVALID

  • Настройте автоматическое продление SSL.
  • Периодически проверяйте срок действия сертификата.
  • Не закрывайте порт 80, если Certbot использует HTTP-01 challenge.
  • Следите, чтобы DNS указывал на правильный сервер.
  • После миграции сразу перевыпускайте SSL.
  • Проверяйте Cloudflare origin certificate.
  • Настройте уведомления о сроке действия SSL.
  • Проверяйте certbot renew --dry-run после изменения сервера.
  • Не держите старые SSL-конфиги активными.

Когда обращаться в поддержку хостинга

Обратитесь в поддержку, если:

  • сертификат в панели хостинга не продлевается;
  • вы не можете найти SSL-настройки;
  • сайт показывает просроченный сертификат, хотя новый уже установлен;
  • у вас нет доступа к Nginx или Apache;
  • ошибка появилась после миграции;
  • Cloudflare показывает SSL-ошибку;
  • Certbot выдаёт ошибку, которую вы не понимаете;
  • порт 80 или 443 закрыт на стороне провайдера.

Перед обращением подготовьте домен, скрин ошибки, дату окончания сертификата, информацию о Cloudflare и время, когда проблема появилась.

FAQ

Что значит ERR_CERT_DATE_INVALID?

Это значит, что браузер считает SSL-сертификат недействительным по дате. Сертификат может быть просрочен, ещё не действовать или дата на устройстве пользователя выставлена неправильно.

Как быстро исправить ERR_CERT_DATE_INVALID?

Пользователю нужно проверить дату и время, очистить кэш и попробовать другой браузер. Владельцу сайта нужно проверить срок действия SSL-сертификата и продлить или перевыпустить его.

Почему Chrome пишет Your clock is ahead или Your clock is behind?

Это означает, что системное время на устройстве сильно отличается от реального. Из-за этого браузер не может правильно проверить SSL-сертификат.

Почему сертификат истёк, если Let’s Encrypt должен продлеваться автоматически?

Автопродление могло не сработать из-за закрытого порта 80, неправильного DNS, ошибки Certbot, изменения конфигурации сервера, Cloudflare или отключённого timer/cron.

Может ли Cloudflare вызвать ERR_CERT_DATE_INVALID?

Да. Если origin-сертификат истёк, Universal SSL ещё не активен, DNS указывает на старый сервер или выбран строгий SSL-режим при недействительном origin-сертификате, может появиться ошибка.

Вывод

ERR_CERT_DATE_INVALID почти всегда связан со сроком действия SSL-сертификата или неправильной датой на устройстве. Если ошибка только у одного пользователя, начните с даты, времени, кэша, VPN и антивируса. Если ошибка у всех, нужно проверять SSL-сертификат сайта.

Для владельца сайта лучший порядок действий: проверить срок сертификата, продлить или перевыпустить SSL, перезагрузить Nginx или Apache, проверить DNS, Cloudflare и автопродление. Так можно быстро вернуть сайту нормальное HTTPS-соединение.