Вобщем задача настроить несколько виртуальных хостов на одном сервере. Среди них один SSL.Вот собственно конфиг.
Include etc/apache22/extra/httpd-ssl.conf это включается конфиг для виртуального хоста работающего через sslServerName mail.mydomain.ru #это внешнее имя на него ходят из интернета. По нему через https нужен доступ к почте.
NameVirtualHost 192.168.1.1 - это локальный адрес
<VirtualHost mxawstats.mydomain.local> - это локально им через днс тоже разрешается правильно
ServerName mxawstats.mydomain.local:80
DocumentRoot /usr/local/www/awstats/
Alias /js/ "/usr/local/www/awstats/www/js/"
Alias /awstatsclasses "/usr/local/www/awstats/classes/"
Alias /awstatscss "/usr/local/www/awstats/css/"
Alias /awstatsicons "/usr/local/www/awstats/icons/"
ScriptAlias /awstats/ "/usr/local/www/awstats/cgi-bin/"
RedirectPermanent /awstats/mail http://mxawstats.mydomain.local/awstats/awstats.pl?config=mail
<Directory /usr/local/www/awstats/>
Options Indexes
Order allow,deny
Allow from all
</Directory></VirtualHost>
<VirtualHost mxstat.mydomain.local> - тоже локальное имя
ServerName mxstat.mydomain.local:80
DocumentRoot /usr/local/www/data/pflogsumm/
<Directory /usr/local/www/data/pflogsumm>
Options Indexes
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
А это конфиг httpd-ssl.conf
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLPassPhraseDialog builtin
SSLSessionCache "shmcb:/var/run/ssl_scache(512000)"
SSLSessionCacheTimeout 300
SSLMutex "file:/var/run/ssl_mutex"
<VirtualHost mail.mydomain.ru>
DocumentRoot /usr/local/www/squirrelmail/
ServerName mail.mydomain.ru:443
ServerAdmin admin@mydomain.ru
ErrorLog "/var/log/httpd-error.log"
TransferLog "/var/log/httpd-access.log"
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /usr/local/ssl/ca/ca.crt
SSLCertificateKeyFile /usr/local/ssl/ca/ca.key
<FilesMatch "\.(cgi|shtml|phtml|php|html)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/usr/local/www/squirrelmail/">
Options All
AllowOverride All
Order Deny,Allow
Allow from all
</Directory>
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog "/var/log/httpd-ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>По отдельности все работает. Ну если просто хосты или ssl а все вместе нет. Если я ставлю строчку включения ssl конфига выше виртуальных хостов то работает только по ssl. Вернее работает то все только он ждет на 80 порту данные защифрованные по ssl.
Если эту строчку ставлю ниже описания обычных виртуальных хостов, то работают нормально только обычные. А при наборе адреса, который должен работать по ssl он запрос принимает все правильно на 443 порт но почему то данные там не шифрованные. По обычному http протоколу только через 443 порт.
Подскажите как настротиь что бы и то и другое правильно работало.
>Вобщем задача настроить несколько виртуальных хостов на одном сервере. Среди них один
>SSL.SSL на apache со стандартными модулями больше одного не сделаешь
....
>SSLMutex "file:/var/run/ssl_mutex"
><VirtualHost mail.mydomain.ru>попробуй так <VirtualHost mail.mydomain.ru:443>
или так <VirtualHost _default_:443>....
>[оверквотинг удален]
>хостов то работает только по ssl. Вернее работает то все только
>он ждет на 80 порту данные защифрованные по ssl.
>
>Если эту строчку ставлю ниже описания обычных виртуальных хостов, то работают нормально
>только обычные. А при наборе адреса, который должен работать по ssl
>он запрос принимает все правильно на 443 порт но почему то
>данные там не шифрованные. По обычному http протоколу только через 443
>порт.
>
>Подскажите как настротиь что бы и то и другое правильно работало.опиши в начале все обычные виртуальные
затем SSL
>[оверквотинг удален]
>>Если эту строчку ставлю ниже описания обычных виртуальных хостов, то работают нормально
>>только обычные. А при наборе адреса, который должен работать по ssl
>>он запрос принимает все правильно на 443 порт но почему то
>>данные там не шифрованные. По обычному http протоколу только через 443
>>порт.
>>
>>Подскажите как настротиь что бы и то и другое правильно работало.
>
>опиши в начале все обычные виртуальные
>затем SSLЯвно порт указывать нельзя с дерективой NameVirtualHost, ошибку выдает попробовал в первую очередь. Если описание ssl виртуального хоста ставить ниже обычных то не работает ссл. Вернее работает, запросы принимает на 443 порту но он ждет обычных данных и выдает обычные данные, не шифрованные. Написал же про это:
>>Если эту строчку ставлю ниже описания обычных виртуальных хостов, то работают нормально
>>только обычные. А при наборе адреса, который должен работать по ssl
>>он запрос принимает все правильно на 443 порт но почему то
>>данные там не шифрованные. По обычному http протоколу только через 443
>>порт.
>Явно порт указывать нельзя с дерективой NameVirtualHost, ошибку выдает попробовал в первуюКакую ошибку ?
цитата из дефолного /usr/local/etc/apache22/extra/httpd-ssl.conf
...
##
## SSL Virtual Host Context
##<VirtualHost _default_:443>
# General setup for the virtual host
DocumentRoot "/usr/local/www/apache22/data"
ServerName www.example.com:443
ServerAdmin you@example.com
---
http://serverfault.com/questions/113076/apache-ssl-virtualho...смысл в том, что для одного IP можно создать только один SSL :(
лечится только использованием ucc-сертификата