Ответ 1
Отличный вопрос!
Мне удалось получить два SSL-сертификата, работающих на одном сервере. Вы должны быть способны делать то, что вы пытаетесь сделать.
Вещи в вашей конфигурации, которые выделяются как нечетные для меня:
-
Я бы предложил использовать порт 443 для обоих сайтов, защищенных SSL. У вас должна быть определенная инструкция в файлах apache conf где-то для прослушивания на порту 443. Для меня она находится в файле /etc/apache 2/ports.conf
Listen 443
.
-
Кажется странным, что у вас есть ServerName и ServerAlias, которые используют один и тот же домен для виртуального хоста. Попробуйте сделать ServerAlias другим или оставить его:
ServerName domain1.com ServerAlias www.domain1.com
.
-
Я предполагаю, что вы заменили свои IP-адреса и домены в своем размещенном conf. Даже если они не являются фактическими IP-адресами, которые вы используете, вы можете дважды проверить, что они могут привести вас в нужное место за пределами SSL (поскольку, очевидно, SSL не работает).
.
Проверьте журнал ошибок apache2 для получения дополнительной информации. Для меня журнал находится по адресу:/var/log/apache2/error.log. Вы можете установить его с помощью: ErrorLog/var/log/apache2/error.log
И, наконец, для вашей справки здесь мой ssl-default (ssl.conf). Я заменил свои домены и IP-адреса теми, которые вы использовали в вашем примере conf. У меня есть несколько субдоменов, работающих с NameVirtualHost, так как у меня есть подстановочный сертификат:
<IfModule mod_ssl.c>
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
NameVirtualHost 1.1.1.1:443
NameVirtualHost 2.2.2.2:443
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/ssl_access.log combined
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
# 1.1.1.1 = domain1.com
<VirtualHost 1.1.1.1:443>
ServerName www.domain1.com
ServerAdmin [email protected]
SSLEngine on
SSLCertificateKeyFile /var/www/ssl/domain1.key
SSLCertificateFile /var/www/ssl/wildcard.domain1.crt
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
DocumentRoot /var/www/domain1/www.domain1.com/web
DirectoryIndex index.php index.html
</VirtualHost>
<VirtualHost 1.1.1.1:443>
ServerName secure.domain1.com
ServerAdmin [email protected]
SSLEngine on
SSLCertificateKeyFile /var/www/ssl/domain1.key
SSLCertificateFile /var/www/ssl/wildcard.domain1.crt
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
DocumentRoot /var/www/domain1/secure.domain1.com/
DirectoryIndex index.php index.html
</VirtualHost>
# 2.2.2.2 = *.domain2.com
<VirtualHost 2.2.2.2:443>
ServerName admin.domain2.com
ServerAdmin [email protected]
SSLEngine on
SSLCertificateKeyFile /var/www/ssl/domain2.key
SSLCertificateFile /var/www/ssl/domain2.crt
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ErrorLog /var/log/apache2/error.log
DocumentRoot /var/www/domain2/secure.domain2.com/web
DirectoryIndex index.php index.html
php_flag display_errors on
php_value error_reporting 7
</VirtualHost>
</IfModule>
Надеюсь, это поможет!