LINUX.ORG.RU
Форум — Admin  

Apache + many ssl sites = how ?


0

0
Подскажите, как мне настроить Апач, чтобы у меня было несколько сайтов с ssl. Конкретнее я что-то не въезжаю как настроить директивы VirtualHost для ssl. Для обычных виртуальных хостов я делал так:
NameVirtualHost *
<VirtualHost *>
ServerAlias www.domain1.ru
ServerName www.domain1.ru
...
</VirtualHost>
<VirtualHost *>
ServerAlias www.domain2.ru
ServerName www.domain2.ru
...
</VirtualHost>
Но указание
<VirtualHost *:443>
ServerAlias www.domain1.ru
ServerName www.domain1.ru
...
</VirtualHost>
<VirtualHost *:443>
ServerAlias www.domain2.ru
ServerName www.domain2.ru
...
</VirtualHost>
приводит к тому что обращения к www.domain2.ru возвращают www.domain1.ru и апач ругается на эту же тему, что мол:
[warn] _default_ VirtualHost overlap on port 443, the first has precedence

Как быть ?

<IfDefine SSL>
NameVirtualHost xxx.xx.xx.xx:443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
</IfDefine>
<IfModule mod_ssl.c>
SSLPassPhraseDialog builtin
SSLSessionCache dbm:/usr/local/apache/logs/ssl_scache
SSLSessionCacheTimeout 300
SSLMutex file:/usr/local/apache/logs/ssl_mutex
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLLog /usr/local/apache/logs/ssl_engine_log
#Debug
SSLLogLevel debug
</IfModule>
<IfDefine SSL>
<VirtualHost xxx.xx.x.xx:443>
ServerAdmin webmaster@your_host.ru
DocumentRoot /www/your_host
ServerName www.your_host.ru
ErrorLog logs/your_host.ru.log
CustomLog logs/your_host.ru.log common
SSLEngine On
SSLCipherSuite ALL:!ADH:!EXP56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Directory "/usr/local/apache/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</VirtualHost>
</IfDefine>

Вот и ставляй сюда хостов сколько нужно, только до "</IfDefine>"

Matrix ★
()
Другими словами не хватало вот этого чтоли:
NameVirtualHost xxx.xx.xx.xx:443 ???
Anton_Khalikov ★
() автор топика
Прикольно, добавил NameVirtualHost - перестало ругаться и выдает правильный сайт, но почему-то с сертификатом от первого сайта ...
Вообще я с сертификатами так поступил:
SSLCertificateFile /etc/httpd/conf/ssl.crt/site_name.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/site_name.key
т.е. для каждого сайта свой сертификат с аналогичным именем. А делал я их так - зашел в etc/httpd/conf/ и сделал make testcert, после чего файлы ssl.crt/server.crt и ssl.key/server.key переименовал в одноименные сайту и потом
mv site_name.key site_name.key.org
openssl rsa -in site_name.key.org -out site_name.key

может чего я не так сделал ?
Anton_Khalikov ★
() автор топика
Ты все правильно сделал, только не учел одного, на один host должен быть один сертификат, т.е использование нескольких сертификатов на одной машине не допускается
Matrix ★
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.