Вы можете «начать развертывание одного субдомена за раз». Но вы не можете ограничить HTTPS-порт 443 открытым только для некоторых виртуальных доменов, если у вас есть один IP-адрес для всех из них.
Виртуальные хосты на основе имени обслуживают разные веб-сайты на основе HTTP-заголовка хоста. Теперь у вас есть HTTP, когда вы набираете «example.com» в своем браузере, он подключается к вашему IP и добавляет Хост: example.com
в заголовках запросов.Таким образом, веб-сервер соответствует известному виртуальному хосту или просто обрабатывается как виртуальный хост по умолчанию, если он неизвестен (например, если вы напрямую вводите IP-адрес в своем браузере).
Теперь для части HTTPS это немного по-другому. Поскольку безопасное соединение TLS должно быть установлено до отправки заголовков HTTP. Таким образом, веб-сервер на самом деле не мог знать, какой сертификат предъявлять. Будь то example1.com или example2.com (например). В прежние времена это означало, что разрешался только один действительный веб-сайт HTTPS для каждого IP-адреса (ну, многодоменный сертификат мог работать, но я не помню, чтобы какой-либо центр сертификации разрешал это). т.е. нет виртуальных хостов. Но, к счастью, за SNI TLS расширение, которое работает аналогично HTTP. За исключением того, что вместо заголовков HTTP имя домена передается в информации о сеансе TLS.
Теперь, учитывая это, как только вы включили SSL для одного веб-сайта example1.com
, и сгенерировал для него сертификат, если ввести https://example2.com
он действительно откроется example1.com
веб-сайт (потому что это единственный виртуальный хост для прослушивателя HTTPS), но также браузер будет жаловаться, что веб-сайт представляет сертификат для неправильного домена (поскольку ваш веб-сервер не имеет сертификата для example2.com и виртуального хоста для него).
Чтобы избежать этой путаницы, я предлагаю вам сначала протестировать и подготовить все сертификаты и конфигурацию для ваших сайтов. А затем включить их все сразу. По крайней мере, если вы размещаете их все на одном IP-адресе. Если у вас разные IP-адреса для них, я полагаю, вы понимаете, что вы можете включить HTTP для них отдельно, основываясь на приведенных выше утверждениях.