Перейти к содержимому
ecdsa.com
Chrome, Edge and other Chromium browsersБраузеры

Сообщение об ошибке

net::ERR_CERT_COMMON_NAME_INVALID

На странице предупреждения отображается «NET::ERR_CERT_COMMON_NAME_INVALID»; инструменты автоматизации выводят «net::ERR_CERT_COMMON_NAME_INVALID».

Chrome, Edge and other Chromium browsers — the certificate does not cover the host name in the address bar

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

Сертификат доверенный и срок его действия не истёк, но имени хоста из адресной строки нет среди его альтернативных имён субъекта (SAN). Вопреки названию ошибки, начиная с Chrome 58 браузер вообще не использует общее имя (CN): хост должен быть указан в subjectAltName. Типичные случаи: www и домен без www, новый поддомен или wildcard, применённый на уровень глубже, чем он покрывает.

Почему это происходит

Как исправить

  1. 1.

    Сравните список SAN с адресом

    Недостающее имя и нужно добавить.

    bash
    echo | openssl s_client -connect www.example.com:443 -servername www.example.com 2>/dev/null \
      | openssl x509 -noout -ext subjectAltName
  2. 2.

    Перевыпустите сертификат со всеми обслуживаемыми именами

    Включите домен без www, вариант с www и все поддомены (или отдельный wildcard для каждого уровня).

    bash
    # Cover the apex and www (and any subdomain you serve)
    sudo certbot certonly --nginx -d example.com -d www.example.com
  3. 3.

    Проверьте, какой сертификат получает каждое имя

    На общих серверах имя без собственного блока server получает сертификат по умолчанию от другого сайта.

    text
    # nginx: every served name needs a server block with a matching certificate
    server {
        listen 443 ssl;
        server_name example.com www.example.com;
        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    }

Связанные ошибки

Открыть всю базу ошибок подписей