У меня все еще возникают проблемы с попыткой получить несколько действительных сертификатов SSL для работы с несколькими доменами веб-сайтов на одном сервере Apache-Ubuntu. Клиентские браузеры должны успешно проверять сертификаты SSL для Internet Explorer в WinXP, Vista и Win 7, FF во всех операционных системах и Safari в Mac OSX.
Ранее я пытался задать этот вопрос пару раз, но, поскольку я плохо сформулировал свою проблему, я получил хорошие ответы, которые не помогли мне достичь моей конечной цели.
Например, я пытался получить несколько SSL для работы с одним IP и портом(q1) используя NameBasedВиртуальный хостинг и SNI(q2).
Но проблема в том, что он не работает для некоторых старых браузеров, таких как Internet Explorer 7 в Windows XP (отлично работает в IE7 в Windows Vista).
Тогда я попробовал кое-что, как мне кажется, называется IP aliasing. Я купил новый IP-адрес 2.2.2.2. Теперь у меня их два: 1.1.1.1 и 2.2.2.2. Я выполнил следующие команды оболочки, чтобы добавить 2.2.2.2 на свой сервер:
john@server> ifconfig eth0:1 2.2.2.2 netmask 255.255.255.0
john@server> route add -host 2.2.2.2 dev eth0:1
И я убедился, что в моем файле / etc / hosts присутствуют следующие две строки
1.1.1.1 john1
2.2.2.2 john2
Затем я настроил свои файлы vhost точно так, как показано на q1. Я перезапустил Apache, но все мои веб-сайты проходили с IP-адреса 1.1.1.1 вместо IP-адреса 2.2.2.2. В результате IE7 на Win XP выдавал ошибку «сертификату нельзя доверять». Когда я изменил любой из <VirtualHost *: 443> на <VirtualHost 2.2.2.2:443>, ВСЕ клиентские браузеры жаловались, что «сертификату веб-сайта нельзя доверять» (вероятно, он имел какое-то отношение к сайту, использующему 1.1.1.1. IP-адрес вместо IP-адреса 2.2.2.2).
Итак, я вернулся к своей исходной проблеме. Где я могу найти рабочее пошаговое руководство по настройке нескольких SSL на одном сервере apache-ubuntu? Может ли кто-нибудь помочь мне решить эту проблему?
Спасибо
Вы здесь на правильном пути. Обычно у вас должен быть отдельный IP-адрес для каждого веб-сайта SSL, для которого вы планируете размещать. Причина в том, что сначала выполняется квитирование SSL, и он ничего не знает о доменном имени, которое вы пытаетесь подключиться. Только после того, как будет выполнено квитирование SSL, HTTP-запрос будет передан на сервер.
Я предлагаю перейти к более базовой настройке и включить один виртуальный хост SSL для каждого домена с соответствующим IP-адресом.
Хорошо, я понял свою проблему. Мне нужно было перейти к диспетчеру файла зоны / DNS и указать каждому домену их соответствующий IP-адрес A-записи (например, site2.com на 2.2.2.2). После этого файлы VirtualHost смогли распознать
<VirtualHost 2.2.2.2:80> and <VirtualHost 2.2.2.2:443>
Таким образом, Apache может начать связывать каждое доменное имя с соответствующим IP-адресом.