NET::ERR_CERT_REVOKED: что значит и как исправить
NET::ERR_CERT_REVOKED — сертификат сайта отозван: его объявили недействительным раньше, чем закончился срок. Пока сайт отдаёт этот сертификат, Chrome показывает предупреждение вместо сайта.
Содержание 10
Что сделать прямо сейчас
Если вы просто открываете сайт:
- Не вводите на этом сайте пароли, сообщения и данные банковских карт.
- Попробуйте открыть сайт позже: Chrome на странице предупреждения сам пишет, что сайт, скорее всего, заработает через некоторое время.
- Если ошибка не проходит, сообщите владельцу сайта код ошибки: NET::ERR_CERT_REVOKED. Исправить её может только он.
Если сайт ваш, переходите к разделам «Как проверить» и «Как исправить» ниже: там все команды по шагам.
Что значит ошибка
SSL-сертификат — электронный документ, которым сайт подтверждает браузеру, что он настоящий. У каждого сертификата есть срок действия, но его можно отозвать и раньше — объявить недействительным. Отзывает сертификат его владелец, например если закрытый ключ (секретный файл, который хранится на сервере вместе с сертификатом) попал к посторонним, или сам центр сертификации, который сертификат выпустил.
Если сайт отдаёт отозванный сертификат, Chrome показывает NET::ERR_CERT_REVOKED — в исходном коде Chrome это ошибка -206.
Как выглядит в Chrome
Вкладка называется «Ошибка нарушения конфиденциальности», заголовок страницы — «Подключение не защищено», под ним — код NET::ERR_CERT_REVOKED. Главная кнопка на странице — «Перезагрузить».
Chrome сообщает, что сертификат сайта отозван: «Открыть сайт в настоящее время нельзя». Причиной могла быть ошибка сети или действия злоумышленников, и, скорее всего, сайт заработает через некоторое время.
Ещё Chrome поясняет: обычно этот сайт защищает соединение шифрованием, но на этот раз прислал неверные данные для проверки. Возможно, кто-то выдаёт себя за сайт или соединение прервала страница входа в сеть Wi-Fi. Данные посетителя не пострадали: Chrome закрыл соединение раньше, чем они начали передаваться.
Причины
- Сертификат отозвали, а новый не выпустили. Например, владелец отозвал сертификат, потому что закрытый ключ попал к посторонним, а заменить его не успел.
- Новый сертификат выпустили, но сервер отдаёт старый. nginx загружает сертификат при запуске и при перезагрузке настроек. Если после выпуска нового сертификата nginx не перезагрузили, посетители по-прежнему получают отозванный.
- Сертификат отозвал центр сертификации, который его выпустил.
При отзыве через Certbot причину указывают ключом --reason. Let's Encrypt принимает четыре причины, запрос с любой другой он отклонит:
| Значение | Когда выбирать |
|---|---|
| keycompromise | Закрытый ключ мог попасть к посторонним |
| superseded | Сертификат заменяют новым |
| cessationofoperation | Сайт закрыли или домены из сертификата больше не ваши |
| unspecified | Ни одна из причин выше не подходит |
Как проверить
Команды из этого раздела вводятся в терминале сервера. Если вы ещё не подключались к нему, начните с инструкции Как подключиться к VPS по SSH. Скопируйте команду целиком, замените example.com на адрес своего сайта и нажмите Enter.
Шаг 1. Узнайте номер сертификата, который отдаёт сайт
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -serial -datesВ ответе три строки: serial — номер сертификата, notBefore и notAfter — начало и конец срока действия. Запишите номер.
Шаг 2. Сравните его с сертификатом в Certbot
sudo certbot certificatesНайдите сертификат с названием вашего сайта и в нём строку Serial Number. openssl пишет номер большими буквами и иногда с нулём в начале, а Certbot — маленькими и без нуля в начале, поэтому сравнивайте последние 8 знаков, не обращая внимания на размер букв.
- Номера разные — Certbot уже хранит другой сертификат, а nginx отдаёт старый. Перезагрузите nginx, как написано в разделе «Как исправить», и проверьте шаг 1 снова.
- Номера совпадают — сайт отдаёт тот сертификат, который хранит Certbot, значит, отозван именно он: выпустите новый.
Шаг 3. Проверьте, какие файлы указаны в nginx
sudo nginx -T | grep ssl_certificateВ строках ssl_certificate и ssl_certificate_key должны быть пути к папке /etc/letsencrypt/live/, например /etc/letsencrypt/live/example.com/fullchain.pem. Если сертификат выпускал Certbot, а в строках указана его копия в другой папке, nginx не получит новый сертификат после перевыпуска. Как указать правильные пути, по шагам рассказано на странице NET::ERR_CERT_AUTHORITY_INVALID, в разделе «Укажите в nginx полную цепочку».
Как исправить
Выпустите новый сертификат
sudo certbot renew --cert-name example.com --force-renewalПосле --cert-name укажите название сертификата из строки Certificate Name (шаг 2). Ключ --force-renewal выпускает сертификат заново, не дожидаясь окончания срока. Новый закрытый ключ Certbot создаёт сам. Если сертификат когда-то выпускали с ключом --reuse-key, добавьте в конец команды --new-key, иначе Certbot возьмёт старый ключ.
Если всё прошло успешно, Certbot напишет Congratulations, all renewals succeeded. Затем выполните по очереди две команды: первая проверяет настройки nginx, вторая применяет новый сертификат.
sudo nginx -t
sudo systemctl reload nginxВ ответе на первую команду должны быть слова syntax is ok и test is successful. Если вместо них сообщение об ошибке, в нём указаны файл и номер строки: исправьте строку и проверьте снова. После перезагрузки повторите шаги 1 и 2: номер сертификата на сайте должен совпадать с новым номером в Certbot.
Если ключ попал к посторонним
Если закрытый ключ украден или мог попасть к посторонним, сначала отзовите сертификат, а потом выпустите новый — именно в таком порядке. Команда отзывает текущий сертификат с этим названием: если сначала выпустить новый, отзовётся уже он.
sudo certbot revoke --cert-name example.com --reason keycompromiseПосле отзыва Certbot спросит, удалить ли сертификат, и посоветует согласиться. Ответьте N и нажмите Enter: пока в настройках nginx указаны пути к этим файлам, без них nginx не пройдёт проверку настроек. Сразу после этого выпустите новый сертификат, как написано выше, и перезагрузите nginx.
На обычном хостинге и с платным сертификатом
Если сертификат выпускал хостинг, напишите в поддержку адрес сайта и код ошибки NET::ERR_CERT_REVOKED. Если сертификат куплен, попросите продавца перевыпустить его с новым закрытым ключом и установите новый сертификат вместо старого.
Соседние ошибки
| Ошибка | Чем отличается |
|---|---|
| NET::ERR_CERT_DATE_INVALID | Срок сертификата истёк или на устройстве неверные дата и время |
| NET::ERR_CERT_AUTHORITY_INVALID | Chrome не доверяет тому, кто выпустил сертификат |
| NET::ERR_CERT_COMMON_NAME_INVALID | Сертификат выдан для другого имени сайта |
| «Подключение не защищено» | Общая страница о предупреждении и его кодах |
Источники
- Исходный код Chromium: net_error_list.h — ошибка -206.
- Исходный код Chromium: ssl_error_options_mask.cc и ssl_error_ui.cc — какую страницу предупреждения Chrome показывает при этой ошибке.
- Русские строки Chrome — текст предупреждения.
- Let's Encrypt: отзыв сертификатов — какие причины отзыва принимает Let's Encrypt и когда какую выбирать.
- Документация Certbot: отзыв сертификатов, перевыпуск сертификатов и параметры командной строки.
Текст предупреждения взят из исходного кода и переводов Chrome.
Сверено 8 октября 2026 года.
Что почитать дальше
- Бесплатный SSL-сертификат — как получить сертификат Let's Encrypt и где его включить у хостера.
- NET::ERR_CERT_DATE_INVALID — как настроить, чтобы nginx сам подхватывал продлённый сертификат.
- «Подключение не защищено» — что значит это предупреждение и как узнать его код.
Проверено и обновлено: 08.10.2026