Я потратил неделю на устранение этой проблемы.
Когда я меняю IP-адрес с корневого IP-адреса, который создается при создании учетной записи пользователя, сертификат SSL больше не действителен, и когда я нажимаю «Почему» в страница, на которой говорится, что это небезопасно, я вижу сертификат для сервера, а не для домена в учетной записи.
rebuildinstalledssldb
и buildhttpdconf
не имеют никакого эффекта. Возврат к исходному корневому IP-адресу работает сразу решает проблему. Переключение обратно на новый IP снова вызывает ту же проблему.
Каждому сайту нужен свой собственный выделенный IP. Я не могу использовать один и тот же корневой IP-адрес (да, такое возможно с SNI, но я говорю, что у меня не может быть доменов на корневом IP-адресе для целей доменов).
Вот еще пара результатов. (Я использовал заполнитель 555.55 ...
в IP-адресах в этом сообщении, чтобы сохранить конфиденциальность.)
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
55.555.2.250 host.domain.com
где 55.555.2.250 - мой корневой IP-адрес.
# cat /etc/ips
55.555.7.79:255.255.255.240:55.555.7.93
55.555.7.80:255.255.255.240:55.555.7.93
55.555.7.81:255.255.255.240:55.555.7.93
55.555.7.82:255.255.255.240:55.555.7.93
55.555.7.83:255.255.255.240:55.555.7.93
55.555.7.84:255.255.255.240:55.555.7.93
55.555.7.85:255.255.255.240:55.555.7.93
55.555.7.86:255.255.255.240:55.555.7.93
55.555.7.87:255.255.255.240:55.555.7.93
55.555.7.88:255.255.255.240:55.555.7.93
55.555.7.89:255.255.255.240:55.555.7.93
55.555.7.90:255.255.255.240:55.555.7.93
55.555.7.91:255.255.255.240:55.555.7.93
55.555.7.92:255.255.255.240:55.555.7.93
Вышеупомянутые IP-адреса - это подсеть / 28. Это IP-адреса, которые я пытаюсь использовать для других доменов.
# cat /etc/sysconfig/network
# Created by anaconda
HOSTNAME=host.domain.com
GATEWAY=55.555.2.249
Где 55.555.2.249 - это шлюз для подсети / 30 корневого IP.
# cat /etc/sysconfig/network-scripts/ifcfg-eno1
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eno1"
UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx"
DEVICE="eno1"
NM_CONTROLLED="no"
ONBOOT="yes"
IPADDR="55.555.2.250"
PREFIX="30"
GATEWAY="55.555.2.249"
NETMASK="255.255.255.252"
IPV6_PRIVACY="no"
DNS1="8.8.8.8"
DNS2="8.8.4.4"
Где UUID - правильный, xxxx
использовалось как заполнитель.
Старая запись DNS A:
www.example.com IN CNAME example.com
example.com IN A 55.555.2.250
Новая запись DNS A:
www.example.com IN CNAME example.com
example.com IN A 55.555.7.81
После перезапуска httpd выполняется rebuildinstalledssldb
и buildhttpdconf
, и перезапуск сервера, сервер обслуживает сертификат SSL для host.domain.com
, который является именем хоста сервера (в результате получается « не доверенный, мы не смогли идентифицировать, поскольку SSL предназначен для host.domain.com, а не example.com
", несмотря на то, что сертификат для example.com
успешно установлен на сервере.
Но если я изменю IP для примера .com
обратно на корневой IP-адрес 55.555.2.250
, после этого будет предоставлен правильный и действительный сертификат SSL, и веб-сайт снова станет зеленым «Доверенным».
Добавить Обычно сервер отправляет страницу без https
( http://example.com
) на /cgi-sys/defaultwebpage.cgi
, поэтому я думаю, что это означает, что где-то возникла проблема с IP.
Это проблема с самим IP, или это проблема с сервером или конфигурацией? Почему обслуживается неправильный сертификат при использовании любого IP-адреса, кроме корневого?
Вы можете легко использовать один IP-адрес даже между доменами. Для этого есть поддержка SNI ...
Как правило, в сертификате (фактически содержание темы C ommon N ame недостаточно, чтобы доверять). В сети SAN может быть IP или DNS (FQDN) имя.
Как вы упомянули Let's encrypt, можно подтвердить только полное доменное имя (с использованием DNS или токена HTTP), поэтому IP в этом сценарии не подходит ...
У вас может быть групповой сертификат, охватывающий все один уровень доменов (например, * .example.com охватывает www.example.com, web.example.com, backup.example.com, НО он НЕ распространяется на example.com или next.web. .example.com).
Проблема, которую я ожидал, связана с тем, как вы изменили IP-адрес или, лучше сказать, вы достигли сервера с новым IP-адресом ... В случае, если вы достигли его с помощью IP-адреса, он не является надежным поскольку IP не включен в сертификат. Если у вас есть сертификат для конкретного fqdn (например, www.example.com), он, вероятно, указывает «старый» адрес, и в случае изменения адреса вы, скорее всего, используете другой fqdn (если не напрямую IP), но в этом случае этот новый fqdn также не рассматривается в сертификате ...
Нет никакой связи между давайте шифровать сертификат и IP. Вам просто нужно обновить не только IP, но и запись DNS, поэтому после изменения IP запись fqdn также должна быть изменена на новый IP. Как только он будет достигнут с тем же fqdn, он будет доверенным ...
сертификат содержит следующие fqdn: www.example.com
и example.com
.
Старый IP-адрес 192.0.2.10
и новый IP-адрес 192.0.2.20
.
Старая запись DNS:
www.example.com IN CNAME example.com
example.com IN A 192.168.0.10
После изменения IP-адреса необходимо также изменить DNS:
www.example.com IN CNAME example.com
example.com IN A 192.168.0.20
После После этого изменения вы можете подключиться к серверу со "старым" fqdn на новом IP-адресе, и текущий сертификат будет доверенным и принятым (зеленый).