Linux

Исправление: сертификат сервера НЕ включает идентификатор, совпадающий с именем сервера

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

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

Метод 1: Редактирование файла httpd[dot]conf

Начните с просмотра 

файл, который может находиться в немного другом месте, если вы используете Apache на Fedora, Red Hat или CentOS. Серверы Debian и Ubuntu должны иметь его по этому первому адресу. Ищите текст, в котором написано, что сертификат сервера НЕ включает идентификатор, совпадающий с предупреждающим сообщением об имени сервера.

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

Серверы Ubuntu или Debian могут не иметь этого файла или обнаружить, что он совершенно пуст, в отличие от тех, кто использует некоторые версии Fedora или Red Hat Enterprise Linux. В этом случае используйте
 для редактирования текстового файла, необходимого для добавления портов для прослушивания.

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

Метод 2: Регенерация новых сертификатов

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

Если вы’ работаете с профессиональной фирмой, предоставляющей официальные сертификаты World Wide Web, то вам следует следовать конкретным инструкциям, предоставленным вашей лицензирующей организацией. В противном случае, вам необходимо sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout KeyFile -out File, замените KeyFile и File на текст, который вы смогли получить из предыдущей команды cat. Вы должны были найти расположение двух различных файлов, которые служат в качестве входных и выходных данных для сертификатов.

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

Вы также можете узнать немного больше о сертификатах, которые у вас установлены, чтобы помочь вам в процессе устранения неполадок. Чтобы посмотреть, какое имя указано в сертификате, и убедиться в его соответствии, вы можете выполнить команду openssl s_client -showcerts -connect ${HOSTNAME}:443, хотя вам’ нужно будет поместить ваше фактическое имя хоста между скобками. Замените цифру 443, если у вас возникли проблемы с другим портом.

Если у вас есть несколько сертификатов, установленных на одном устройстве и обслуживаемых с одного IP-адреса, то вам’ необходимо выполнить команду openssl s_client -showcerts -connect ${IP}:443 -servername ${HOSTNAME}, Замените IP на ваш реальный IP и заполните имя хоста. И снова, возможно, вам придется заменить 443 на другую цифру, чтобы соответствовать вашему конкретному случаю использования.

Помните, что вы должны убедиться, что правильное имя хоста было указано в качестве псевдонима или общего имени при создании CSR.

Добавить комментарий