# FAQ по сертификатам

# Как подключить SSL для домена

Сертификат выписывается автоматически при добавление домена.

Для работы функции автоматического выписывания сертификата метод установки должен быть Approved (v2.20) и выше.

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

# Как подключить SSL для домена из командной строки на сервере

Если вы отказались от установки сертификата при первом запуске, то можете установить позже с помощью команды:

cd /root
curl keitaro.io/enable-ssl.sh > run; bash run -D domain.com

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

# Установка SSL сразу для нескольких доменов

curl keitaro.io/enable-ssl.sh > run; bash run -D domain.ru,domain2.ru,domain3.ru

Скрипт не будет работать, если сервер не был настроен скриптом автонастройки.

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

# Как подключить SSL для домена, настроенного через CloudFlare?

Когда домен настроен на CloudFlare, то SSL настраивается на самом CloudFlare. У домена нужно включать поддержку SSL на самом CloudFlare, настройки сертификата - Flexible.

# Ошибка "Во время выпуска сертификата произошла неизвестная ошибка."

Выполните:

curl -fsSL https://dl.eff.org/certbot-auto > certbot-auto 
chmod a+x ./certbot-auto
./certbot-auto --install-only
mv -f certbot-auto /usr/bin/certbot

Когда спросит Is this ok [y/d/N]: , введите «y». Теперь попробуйте снова выписать сертификат.

# Сертификат выписывается, но в браузере показывает, что невалидный

Если уже подключено больше 100 доменов, необходимо удалить старые, неиспользуемые. Перечислите домены для удаления в первой строке и выполните:

curl -sSL https://dl.eff.org/certbot-auto > certbot-auto
chmod a+x ./certbot-auto
./certbot-auto --install-only
mv certbot-auto /usr/bin/certbot-2

# Удаление SSL сертификата указанного домена

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

curl https://raw.githubusercontent.com/apliteni/centos_provision/current/scripts/delete-ssl.sh > delete-ssl; bash delete-ssl domain.com

Где domain.com - это имя Вашего домена, у которого хотите отозвать и удалить сертификат. Будет произведено удаление сертификатов и их файлов, ключей шифрования сертификата указанного домена, а также файлов конфигурации данных сайтов в nginx (расположенных по пути /etc/nginx/conf.d/).

# Проверка корневого сертификата из цепочки ключа на валидность

Бывают случаи, когда SSL сертификат успешно выписывается на имя припаркованного домена, но при этом домен отказывается открываться через https, а проверка валидности SSL сертификата выдает ошибку certificate name mis match. Данная ошибка говорит о том, что имя домена, на который был выпущен SSL сертификат, имеет конфликт в имени с цепочкой сертификатов ранее установленного сертификата (купленный сертификат, либо же иной сертификат который поставлялся бесплатно с доменом и требовал ручной установки).

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

openssl verify -verbose -x509_strict -CAfile имя_файла_ключа.pem

После чего Вы получите следующий результат:

имя_файла_ключа.pem: CN = problemcertificate.ru
error 20 at 0 depth lookup:unable to get local issuer certificate

Данная ошибка говорит о том, что не получилось проверить SSL сертификат у домена локально у выпускающего сертификата. В таком случае необходимо удалить данные ключи сертификата и конфигурационные файлы nginx этого домена, после чего удалить и выпустить все домены.

# Лимиты

Let's Encrypt накладывает ряд ограничений:

# Превышен лимит запросов

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

# Выпуск сертификата заблокирован

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