Как администратор,
Щелкните правой кнопкой по Computer и выберите Properties
Нажмите кнопку Environment Variables
Удостоверьтесь, что api.bulbstorm.com и www.bulbstorm.com vhosts находятся на РАЗЛИЧНЫХ IP-адресах. Вот мои конфигурации vhost для 2 различных субдоменов с уникальными сертификатами SSL:
Listen 10.0.0.152:443
<VirtualHost 10.0.0.152:443>
ServerAdmin admin@domain.com
DocumentRoot /web0/cloud/login.domain.com/current
ServerName login.domain.com
ServerAlias www.login.domain.com login.domain.com
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
TransferLog /var/log/www/login.domain.com-access_log
ErrorLog /var/log/www/login.domain.com-error_log
<DIRECTORY /web0/cloud/login.domain.com/current>
Allow from All
OPTIONS Indexes Includes ExecCGI FollowSymLinks
AllowOverride ALL
</DIRECTORY>
IndexOptions FancyIndexing
AddType application/x-httpd-php .html
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "/usr/local/etc/apache22/ssl.crt/login.domain.com.crt"
SSLCertificateKeyFile "/usr/local/etc/apache22/ssl.key/login.domain.com.key"
SSLCertificateChainFile "/usr/local/etc/apache22/ssl.crt/comodo.ca-bundle"
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</VirtualHost>
Listen 10.0.0.151:443
<VirtualHost 10.0.0.151:443>
ServerAdmin admin@domain.com
DocumentRoot /web0/cloud/admin.domain.com/current
ServerName admin.domain.com
ServerAlias www.admin.domain.com admin.domain.com
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
TransferLog /var/log/www/admin.domain.com-access_log
ErrorLog /var/log/www/admin.domain.com-error_log
<DIRECTORY /web0/cloud/admin.domain.com/current>
Allow from All
OPTIONS Indexes Includes ExecCGI FollowSymLinks
AllowOverride ALL
</DIRECTORY>
IndexOptions FancyIndexing
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "/usr/local/etc/apache22/ssl.crt/admin.domain.com.crt"
SSLCertificateKeyFile "/usr/local/etc/apache22/ssl.key/admin.domain.com.key"
SSLCertificateChainFile "/usr/local/etc/apache22/ssl.crt/comodo.ca-bundle"
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</VirtualHost>
Как amishgeek указывает, и ping подтверждает:
Microsoft Windows [Version 6.0.6002] Copyright (c) 2006 Microsoft Corporation. All rights reserved. C:\Users\Owner>ping bulbstorm.com Pinging bulbstorm.com [216.139.247.153] with 32 bytes of data: Control-C ^C C:\Users\Owner>ping www.bulbstorm.com Pinging www.bulbstorm.com [216.139.247.153] with 32 bytes of data: Control-C ^C C:\Users\Owner>ping api.bulbstorm.com Pinging api.bulbstorm.com [216.139.247.153] with 32 bytes of data: Control-C ^C C:\Users\Owner>
У Вас есть тот же IP-адрес для обоих хостов. SSL происходит, прежде чем имена хостов отправляются. Имена хостов отправляются в Apache через Хост: заголовок в Запросах HTTP. В OpenSSL 1.0 будет поддержка сертификатов TLS, которые могут помочь с совместным использованием IP, но это - другой ballgame и больше поиска с помощью Google.
Ссылки:
ОБХОДНЫЕ РЕШЕНИЯ:
На статью в Википедии о TLS: необходимо скорректировать сертификат для поддержки нескольких подчиненных альтернативных имен (GoDaddy имеет "Сертификаты UCC"), или получите Wildcard-сертификат.
В зависимости от Вашей базы пользователей Вы могли попросить, чтобы пользователи поддерживали certficate корень CACert и получили subjectAltName сертификат от них. (на самом деле похоже, что Ваш текущий сертификат имеет subjectAltName для bulbstorm.com И www.bulbstorm.com). Это сохраняет Вас 70,00$ в год. Поместите ссылку на своей странице не-SSL или на Вашей странице SSL, которая говорит что-то как
"Вы получаете ошибки браузера SSL? Мы используем сертификаты SSL CACert. Перейдите по этой ссылке для загрузки их корневых сертификатов в браузер".
Для ответа на вопрос в самом конце это - то, как генерировать сам подписанный сертификат SSL.
Во-первых, эта строка генерирует закрытый ключ, который используется для генерации сертификата подписывая запрос (CSR).
openssl genrsa -des3 -out server.key 1024
Вам предложат ввести пароль. Этот пароль зашифрует закрытый ключ. Эта следующая строка генерирует CSR использование Вашего закрытого ключа.
openssl req -new -key server.key -out server.csr
Вам затем предложат следующие вопросы (и Ваш пароль, если Вы приняли решение использовать один выше в поколении Вашего закрытого ключа.)
Country Name (2 letter code) [GB]:
State or Province Name (full name) [Berkshire]:
Locality Name (eg, city) [Newbury]:
Organization Name (eg, company) [My Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Править: если Вы действительно генерируете самоподписанный сертификат для тестирования, Common Name
поле выше - то, где Вы хотите поместить свой домен (точно, как Вы хотите это, т.е. с www
если Вы хотите, чтобы это было адресом, Вы используете). После генерации CSR можно самоподписать его делающий следующее.
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Затем у Вас будет свой закрытый ключ (server.key
) и Ваш сертификат SSL (server.crt
) который можно установить в Apache с помощью директив, Вы использовали выше для других сертификатов.
Я не уверен, отвечает ли это на какой-либо из вопросов относительно очевидного неправильного сертификата, отправляемого в браузер, но я предложил бы, возможно, удалить все ссылки на файлы сертификата вне этого VirtualHost
директива, чтобы видеть, происходит ли это все еще, так как Вы только действительно можете иметь один хост SSL на IP-адрес, и имеющий несколько SSLCertificateFile
директивы могли иметь необычный эффект.