Я купил подстановочный SSL в RapidSSL. Он отлично работает на моем балансировщике нагрузки AWS, но недавно я заметил, что тот же сертификат не работал на нашем тестовом сервере, который не находится на балансировщике нагрузки, когда к нему обращается один из наших старых тестовых iPhone 2-го поколения. Это заставило меня запустить средство проверки сертификатов RapidSSLs на нашем тестовом сервере. Он утверждал, что сервер возвращал самоподписанный сертификат, что очень озадачило. Я проверил с помощью другого онлайн-чекера RapidSSL и получил более подробные результаты, показывающие самоподписанный сертификат.
Странно то, что когда вы переходите на веб-сайт на тестовом сервере в любом современном браузере, вы также получаете правильный сертификат и правильный сертификат CA. Я даже нашел в Интернете еще одну программу проверки SSL, которая сказала, что все в порядке. У меня есть проверка, двойная проверка и тройная проверка моего файла http.conf
NameVirtualHost *:443
<VirtualHost *:443>
ServerName test.MYDOMAIN.com
DocumentRoot /var/www/html/
SSLEngine on
SSLProtocol all
SSLCACertificateFile /usr/local/ssl/crt/cmint.crt
SSLCertificateFile /usr/local/ssl/crt/cm.crt
SSLCertificateKeyFile /usr/local/ssl/crt/cm.key
</VirtualHost>
Все работает нормально, и я не думаю, что проблема связана с файлами сертификатов. Где-то в моей конфигурации или конфигурации Amazon я получаю этот самозаверяющий сертификат, обслуживаемый старыми устройствами, когда они получают доступ к экземпляру, который не использует балансировщик нагрузки.
Вы используете NameVirtualHost
на этом сервере? Интересно, если SNI здесь виноват. Попробуйте IE в Win XP (или одну из других комбинаций, перечисленных на странице WikiPedia) и посмотрите, не вызывает ли это самозаверяющий сертификат.
На странице указано, что iOS> 4.0 поддерживает SNI, поэтому, предположительно, в более ранних версиях нет.
Я подозреваю, что у вас есть виртуальный хост по умолчанию с самозаверяющим сертификатом, который никогда не отображается для браузеров с поддержкой SNI.