Рейтинг:0

Могу ли я сделать https на некоторых доменах, но не на всех на своем сайте?

флаг br

У меня есть два сайта (домашний сервер и linode VPS) и у меня есть несколько поддоменов одного домена на одном сайте и несколько на другом. У меня также есть два или три других домена на обоих серверах. В настоящее время я использую Apache VirtualHost на обоих сайтах. Ни один из них в настоящее время не использует https.

Можно ли начать выкатывать https по одному поддомену, или все или ничего? Нужно ли мне использовать внешний интерфейс, такой как nginx, или я могу сделать все это в Apache?

Рейтинг:1
флаг np

Вы можете «начать развертывание одного субдомена за раз». Но вы не можете ограничить 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 для них отдельно, основываясь на приведенных выше утверждениях.

Рейтинг:1
флаг jp

Для поддержки SSL в Apache вам необходимо настроить Виртуальный хост на порт 443 для каждого сайта, так что вы можете делать это по одному субдомену за раз. Видеть Apache TLS/SSL: инструкции

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.