У меня несколько доменов, я использую ssl для одной установки apache. Я знаю, что мне нужно разместить каждый домен на отдельном внешнем IP-адресе. То же самое относится к IP-адресам за NAT?
Это означает, что у меня есть один домен на гипотетическом внешнем IP: 1.2.3.4, другой на 1.2.3.5 (очевидно, это составленные IP-адреса)
внутри оба эти IP-адреса указывают на 192.168.1.5. Должно ли это быть отображение 1: 1 в этом домене 1.2.3.4, указывающее на 192.168.1.5, а IP-адрес 1.2.3.5 должен указывать на 192.168.1.6? могут ли они оба указывать на 192.168.1.5 и по-прежнему работать?
Вы можете использовать тот же внутренний IP-адрес, если используете другой порт. Apache должен знать, какой сертификат / ключ SSL использовать для соединения, а поскольку доменное имя в запросе зашифровано, он не может это использовать. Единственное, что ему нужно, это ip: port, поэтому хотя бы один из них должен быть уникальным.
Я считаю, что да, IP-адрес за NAT должен быть уникальным для сертификата SSL.
SSL - это шифрование транспортного уровня, оно настраивается до того, как клиент сделает свой запрос. Таким образом, сервер не знает заранее, какой веб-сайт будет запрашивать клиент.
На https://httpd.apache.org/docs/current/ssl/ssl_faq.html#vhosts вы можете прочитать следующее:
Обратите внимание, что если у вас есть сертификат SSL с подстановочными знаками или сертификат с несколькими именами хостов с использованием полей subjectAltName, вы можете использовать SSL на виртуальных хостах на основе имен без дополнительных обходных путей.
Сертификаты SAN могут иметь не только несколько хостов в одном домене, но и несколько доменов в них.
вы можете использовать тот же внутренний IP-адрес, потому что в этом случае вам нужно увидеть рабочий процесс TCP. Ваш клиент подключается к внешнему IP0 с именем DOMAIN0. Ключ SSL предназначен для DOMAIN0. Этот сеанс TCP идет на IP0, и даже если есть перенаправление на внутренний IP-адрес, клиент увидит внешний и будет счастлив.