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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.