У меня есть 3 веб-сайта на одном сервере, и только один из них использует SSL. Я купил, настроил и установил сертификат GoDaddy, и он отлично работает во всех браузерах (Chrome, FF, Safari, IE), кроме Opera, которая выдает предупреждение, как описано в моем вопросе. Когда я нажимаю на подробности, появляется имя хоста одного из других веб-сайтов, работающих на сервере.
Я прочитал здесь несколько сообщений об этом, особенно о SNI, но не могу понять, что мне нужно делать, и легко ли это исправить. Я использую Debian Lenny с обновленным Apache2.
Вам понадобится выделенный IP-адрес на веб-сайте / домене, на котором вы установили сертификат SSL. Так, если, например, вы размещаете 3 домена на своем сервере, вы можете использовать один IP-адрес для двух виртуальных хостов, у которых нет сертификата SSL, но для виртуального хоста с сертификатом SSL требуется второй IP-адрес, выделенный только для этого домена. Если в будущем вы добавите сертификат SSL к одному из двух других доменов, вам понадобится другой IP-адрес и т. Д.
Всегда помните, что для SSL вам нужен выделенный IP-адрес для каждого домена.
Вы должны попросить своего хостинг-провайдера назначить дополнительный IP-адрес вашему серверу, обновить конфигурацию vhost и записи DNS для домена с поддержкой SSL, и все будет в порядке.
Есть способы обойти ограничение 1: 1 IP: host.
Причина эмпирического правила 1 IP на хост SSL заключается в том, что при первоначальном подключении браузера к веб-серверу, например Apache через SSL, происходит шифрование. Из-за этого шифрования Apache не может знать, какой виртуальный хост вы хотите посетить, потому что заголовок Host: в настоящее время зашифрован. Следовательно, Apache будет просто сервером сертификата от первого хоста SSL в своей конфигурации виртуального хоста.
Если вы выполняете общедоступный веб-хостинг, маловероятно, что первый сертификат SSL, указанный в конфигурации виртуального хоста, действительно будет правильным во всех случаях, НО если вы обслуживаете ограниченное количество хостов на экземпляре Apache, вы МОЖЕТЕ добавьте все эти хосты в сертификат UCC (multi-host). В этом случае сертификат будет соответствовать всем хостам, поэтому вы не получите предупреждений.
Я не уверен, что это подходящая конфигурация в вашем случае, но я запускаю ее в нескольких местах, где на сервере очень ограниченное количество доменов, и она хорошо работает.