Я нахожу вопрос очень интересным с точки зрения общего понимания сертификатов SSL/TLS. Я лично не вижу общей проблемы при совместном использовании одного и того же сертификата SSL/TLS на нескольких компьютерах или виртуальных экземплярах. Единственная проблема может существовать только в некоторых свойствах сертификата, например объекта Alternate Name (DNS Name) сертификата (я имею в виду такие параметры).
Раздел 3.1 (Сервер идентификация) из RFC2818:
Если клиент имеет внешнюю информацию относительно ожидаемой идентичности сервера, то проверка имени хоста может быть опущена. (Например, клиент может подключаться к машине, адрес и имя хоста являются динамическими , но клиент знает сертификат, который сервер будет представлять.)
...
Если SubjectAltName расширение типа dNSName присутствует, что ДОЛЖНО использоваться как идентификатор. В противном случае необходимо указать (наиболее конкретное) общее поле имени поля Subject в сертификате. Хотя использование Common Name является существующей практикой, оно устарело , и сертификационным органам рекомендуется использовать dNSName .
Единственная проблема заключается в том, что Let's Encrypt, похоже, еще не поддерживает подстановочные сертификаты (см. FAQ). Я не уверен, что ограничение все еще существует, и вы действительно не можете создать Let's Encrypt with Subject Alternative Name (``), например DNS Name = www.yourdomain.com и DNS Name = *. Yourdomain.com. Таким образом, точный ответ на ваш вопрос может зависеть от свойств сертификата.
Если вы используете один и тот же сертификат для двух серверов, у вас может возникнуть дополнительная проблема с использованием кеша сеанса TLS, что улучшает производительность TLS и обоих клиентов, и сервер может использовать один и тот же идентификатор сеанса, который улучшает производительность TLS. Вы должны описать точный сценарий, который вы используете, чтобы иметь возможность точно определить, есть ли у вас проблемы с идентификатором сеанса или нет.
Вы можете разместить до 100 доменов в сертификате, но без подстановочных знаков. Мне это кажется достаточно - он просто заставляет вас перечислять домены, которые в большинстве случаев для меня являются вариациями www.example.com, example.com. –
Я не думал о кеше сеанса, который, по-видимому, приносит пользу времени соединения, поэтому это должно быть недостатком, если я разделяю сертификаты, но действительно ли сервер записывает что-то, когда браузер подключается к тому, что я могу поделиться? Или это кеш, хранящийся на клиенте, и действительный в течение некоторого периода времени, который в этом случае будет распространяться на сертификаты. –
@CarsonCole: Не могли бы вы разместить URL-адрес на двух серверах или URL-адресах сертификата, который вы используете? Я хочу сказать, что нужно знать более подробную информацию о сертификате, особенно знать альтернативное имя субъекта. О проблеме с кешем сеанса. Я бы порекомендовал вам сделать трассировку, используя Wireshark, где тот же клиент делает подключение к серверу в первый раз, а затем позже во второй раз. Вы увидите, что клиент отправит идентификатор сеанса из первого соединения. Затем вы можете проверить трассировку соединения со вторым сервером. Будет ли отправлен сеанс ID1? Что такое server2? – Oleg