URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 89459
[ Назад ]

Исходное сообщение
"Apache 2.2 VirtualHost SSL и обычный сервер"

Отправлено KomaLex , 28-Июл-10 12:53 
Вобщем задача настроить несколько виртуальных хостов на одном сервере. Среди них один SSL.

Вот собственно конфиг.


Include etc/apache22/extra/httpd-ssl.conf это включается конфиг для виртуального хоста работающего через ssl

ServerName 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 порт.

Подскажите как настротиь что бы и то и другое правильно работало.


Содержание

Сообщения в этом обсуждении
"Apache 2.2 VirtualHost SSL и обычный сервер"
Отправлено BulgakowI , 29-Июл-10 11:17 
>Вобщем задача настроить несколько виртуальных хостов на одном сервере. Среди них один
>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


"Apache 2.2 VirtualHost SSL и обычный сервер"
Отправлено KomaLex , 29-Июл-10 12:47 
>[оверквотинг удален]
>>Если эту строчку ставлю ниже описания обычных виртуальных хостов, то работают нормально
>>только обычные. А при наборе адреса, который должен работать по ssl
>>он запрос принимает все правильно на 443 порт но почему то
>>данные там не шифрованные. По обычному http протоколу только через 443
>>порт.
>>
>>Подскажите как настротиь что бы и то и другое правильно работало.
>
>опиши в начале все обычные виртуальные
>затем SSL

Явно порт указывать нельзя с дерективой NameVirtualHost, ошибку выдает попробовал в первую очередь. Если описание ssl виртуального хоста ставить ниже обычных то не работает ссл. Вернее работает, запросы принимает на 443 порту но он ждет обычных данных и выдает обычные данные, не шифрованные. Написал же про это:

>>Если эту строчку ставлю ниже описания обычных виртуальных хостов, то работают нормально
>>только обычные. А при наборе адреса, который должен работать по ssl
>>он запрос принимает все правильно на 443 порт но почему то
>>данные там не шифрованные. По обычному http протоколу только через 443
>>порт.


"Apache 2.2 VirtualHost SSL и обычный сервер"
Отправлено BulgakowI , 29-Июл-10 15:53 
>Явно порт указывать нельзя с дерективой 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
---


"Apache 2.2 VirtualHost SSL и обычный сервер"
Отправлено Sergey Moot , 29-Окт-10 23:30 
http://serverfault.com/questions/113076/apache-ssl-virtualho...

смысл в том, что для одного IP можно создать только один SSL :(

лечится только использованием ucc-сертификата