Если я размещу службу, URL которой указан как ndsystem.example.org
, и на нем размещен сертификат для www.example.org
, и у меня есть CNAME intermediate.example.org
, который указывает на endystem.example.org
, и CNAME www.example.org
, который указывает на intermediate.example.org
, будет ли сертификат работать для пользователя в браузере, или он будет считаться злоумышленником. средняя атака? Или, возможно, произойдет сбой, потому что intermediate.example.org
не является частью сертификата?
Итак, сценарий следующий: www.example.org
-> intermediate.example. org
-> ndsystem.example.org
, а endystem.example.org размещает сертификат для www.example.org, примет ли его браузер?
Почему?
URL-адрес endystem.example. org
время от времени меняется, и я контролирую как endystem.example.org
, так и intermediate.example.org
, поэтому у меня нет проблем с обновлением intermediate.example .org
при изменении ndsystem.example.org
.
Я не контролирую CNAME для www.example.org
, поэтому мне нужно добавить этого «посредника», чтобы внести изменения.
Да, браузер заботится о том, чтобы часть имени хоста URL соответствовала имени субъекта (одному из SAN) в сертификате, представленном сервером, к которому он подключен.
CNAME на самом деле не являются здесь фактором, они влияют на то, как IP-адрес, к которому подключается браузер, разрешается на уровне DNS, но эти CNAME никоим образом не влияют на URL-адрес местоположения браузера.
Отредактируйте, чтобы следить за изменением, о котором идет речь:
С точки зрения пользователя имеет значение только конечный URL и соответствие сертификата этому URL. Если у вас есть контроль над промежуточным.example.org, но пользователь собирается на endystem.example.org, сертификат должен быть действительным для endystem.example.org. Вы можете сделать это с помощью перечисленных ниже методов. Если URL-адрес для endystem.example.org меняется, но у вас есть возможность установить сертификат для этого сайта, вам лучше всего будет иметь сертификат с подстановочным знаком вместо того, чтобы покупать новый сертификат каждый раз, когда URL-адрес изменяется. .
Браузер будет принимать сертификат как действительный для сайта только в том случае, если в субъекте сертификата есть запись CN, соответствующая вашему полному доменному имени, или если есть запись альтернативного имени субъекта для полного доменного имени сайта, который посещает пользователь.
В качестве примера посмотрите на сертификат для этого сайта, и вы увидите полный список альтернативных имен субъектов, которые позволяют этому единому сертификату работать на всех их сайтах.
DNS Name=*.stackexchange.com
DNS Name=stackoverflow.com
DNS Name=*.stackoverflow.com
DNS Name=stackauth.com
DNS Name=sstatic.net
DNS Name=*.sstatic.net
DNS Name=serverfault.com
DNS Name=*.serverfault.com
DNS Name=superuser.com
...
Другой вариант - создать сертификат с подстановочным знаком, который будет охватить все ваши сайты example.org.