Установка VPN-программ на веб-хостинге может перестроить службы, но неожиданный сертификат не доказывает, что файлы Apache были перезаписаны. Что-то предъявило этот сертификат вашему браузеру, и первая задача — назвать это. Пока слушатель и виртуальный хост не определены, каждое исправление — догадка, применённая не к тому уровню. Вся проверка ниже — только чтение.

Ничего не перезапускается, не удаляется и не перезаписывается, пока вы собираете факты, решающие дело.

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

Запишите имя хоста, разрешённый адрес для каждого семейства, порт и подробности сертификата, на которые жаловался браузер. Имя, разрешающееся и в запись A, и в AAAA, может достичь двух разных фронтов, и только один из них может быть хостом, к которому у вас есть доступ через оболочку. Браузер за прокси может снова пойти третьим путём. Догадка о том, кто из них создал предупреждение, тратит единственное наблюдение, которое у вас есть.

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

openssl s_client -connect 198.51.100.37:443 -servername www.example.net </dev/null 2>/dev/null |
  openssl x509 -noout -subject -issuer -fingerprint -sha256 -ext subjectAltName

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

Определите процесс, привязанный к этому порту

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

sudo ss -ltnp 'sport = :443'
sudo ss -ltnp | grep -E ':(443|943)\b'

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

Сопоставьте виртуальный хост раньше файла

Когда Apache — завершающий, спросите у него, какой виртуальный хост побеждает для этого адреса и имени. Команда управления печатает действующую раскладку, включая группу, сопоставленную каждому сокету, объявленные имена серверов и хост, который считается по умолчанию. Правка файла сертификата без этого ответа — это то, как неверный сайт начинает обслуживаться из правильного файла.

sudo apachectl -S

Часто задаваемые вопросы по SSL в Apache объясняют, как указание имени сервера выбирает сертификат. Заголовок Host протокола HTTP приходит после рукопожатия и не может задним числом изменить то, что уже предъявлено, поэтому несовпадающее или отсутствующее имя возвращается к хосту по умолчанию.

Именованный виртуальный хост с опечаткой в ServerAlias даёт ровно этот симптом, как и второй файл конфигурации, который первым загружает хост, перехватывающий всё. Оба видны в этой раскладке.

Проверьте исправление на каждом заявленном пути

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

Удаление пакета может изменить раскладку и оставить исходное несоответствие необъяснённым, поэтому эта запись переживает исправление.

Вы хотите видеть нужный сайт в нужной точке входа. Другой сертификат после исчезновения несвязанной службы — не этот результат, даже когда браузер перестаёт жаловаться.

Похожие статьи