[Решено]: apache2 с поддержкой множества виртуальных https-хостов

ROSA Enterprise Linux Server -- вопросы и проблемы
Правила форума
Уважаемые пользователи! Поддержка, ответы на вопросы и проблемы по серверу принимаются:
1) на багзилле http://bugs.rosalinux.ru/enter_bug.cgi? ... A%20Server
2) или после заполнения формы на http://www.rosalab.ru/products/server/download вы получаете 30 дней БЕСПЛАТНОЙ техподдержки по серверу.
Ответы на ваши вопросы на форуме НЕ ГАРАНТИРУЮТСЯ. Спасибо за понимание!
Ответить
Аватара пользователя
Yamah
Сообщения: 1361
Зарегистрирован: 04 май 2012, 06:30
Operating system: Десктоп (дом): Rosa Fresh R8.1, Rosa Fresh R10
Десктоп (работа): Rosa Fresh R8.1/Rosa Fresh R10
Сервер (работа): Rosa Enterprise Linux Sercver 6.7
Нетбук: Rosa Fresh R10
Контактная информация:

[Решено]: apache2 с поддержкой множества виртуальных https-хостов

Сообщение Yamah » 21 июл 2014, 18:17

Суть проблемы.
По умолчанию в RELS (так же как и в CentOS) apache не может работать с виртуальными https-хостами.
Хабр писал(а):Согласно RFC 4366, раздел 3.1. Server Name Indication это возможно.
Поддержка расширения SNI согласно Wikipedia появилась в Apache HTTP Server начиная с версии 2.2.12.
Подробности есть в Apache Wiki.
Для работы расширения нужна библиотека OpenSSL версии 0.9.8f или выше.
Оригинал (Идея с Mod_GNUTLS мне не нравится, тем более, что можно сделать штатными средствами).

Это решение у меня вызвало сбой apache. (Честно скажу, что я не стал разбираться - на живом сервере не было желания дальше практиковаться, а на виртуалку не было времени. Поэтому я не знаю в чем причина - нет поддержки SNI в сборке, или у меня где-то ошибка).

В Debian Squeeze эта проблема решена в mod_ssl
Конфиги файлов мода в списке включенных модов.

Код: Выделить всё

cat ssl.conf
<IfModule mod_ssl.c>
#
# Pseudo Random Number Generator (PRNG):
# Configure one or more sources to seed the PRNG of the SSL library.
# The seed data should be of good random quality.
# WARNING! On some platforms /dev/random blocks if not enough entropy
# is available. This means you then cannot use the /dev/random device
# because it would lead to very long connection times (as long as
# it requires to make more entropy available). But usually those
# platforms additionally provide a /dev/urandom device which doesn't
# block. So, if available, use this one instead. Read the mod_ssl User
# Manual for more details.
#
SSLRandomSeed startup builtin
SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect builtin
SSLRandomSeed connect file:/dev/urandom 512

##
##  SSL Global Context
##
##  All SSL configuration in this context applies both to
##  the main server and all SSL-enabled virtual hosts.
## cat ssl.load
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so


#
#   Some MIME-types for downloading Certificates and CRLs
#
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl

#   Pass Phrase Dialog:
#   Configure the pass phrase gathering process.
#   The filtering dialog program (`builtin' is a internal
#   terminal dialog) has to provide the pass phrase on stdout.
SSLPassPhraseDialog  builtin

#   Inter-Process Session Cache:
#   Configure the SSL Session Cache: First the mechanism 
#   to use and second the expiring timeout (in seconds).
#   (The mechanism dbm has known memory leaks and should not be used).
#SSLSessionCache         dbm:${APACHE_RUN_DIR}/ssl_scache
SSLSessionCache        shmcb:${APACHE_RUN_DIR}/ssl_scache(512000)
SSLSessionCacheTimeout  300

#   Semaphore:
#   Configure the path to the mutual exclusion semaphore the
#   SSL engine uses internally for inter-process synchronization. 
SSLMutex  file:${APACHE_RUN_DIR}/ssl_mutex

#   SSL Cipher Suite:
#   List the ciphers that the client is permitted to negotiate. See the
#   ciphers(1) man page from the openssl package for list of all available
#   options.
#   Enable only secure ciphers:
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5

#   Speed-optimized SSL Cipher configuration:
#   If speed is your main concern (on busy HTTPS servers e.g.),
#   you might want to force clients to specific, performance
#   optimized ciphers. In this case, prepend those ciphers
#   to the SSLCipherSuite list, and enable SSLHonorCipherOrder.
#   Caveat: by giving precedence to RC4-SHA and AES128-SHA
#   (as in the example below), most connections will no longer
#   have perfect forward secrecy - if the server's key is
#   compromised, captures of past or future traffic must be
#   considered compromised, too.
#SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5
#SSLHonorCipherOrder on

# enable only secure protocols: SSLv3 and TLSv1, but not SSLv2
SSLProtocol all -SSLv2

# Allow insecure renegotiation with clients which do not yet support the
# secure renegotiation protocol. Default: Off
#SSLInsecureRenegotiation on

# Whether to forbid non-SNI clients to access name based virtual hosts.
# Default: Off
#SSLStrictSNIVHostCheck On

</IfModule>

Код: Выделить всё

 cat ssl.load
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
Хотелось бы видеть поддержку виртуальных https-хостов.
Последний раз редактировалось Yamah 01 авг 2014, 07:03, всего редактировалось 1 раз.

Аватара пользователя
Yamah
Сообщения: 1361
Зарегистрирован: 04 май 2012, 06:30
Operating system: Десктоп (дом): Rosa Fresh R8.1, Rosa Fresh R10
Десктоп (работа): Rosa Fresh R8.1/Rosa Fresh R10
Сервер (работа): Rosa Enterprise Linux Sercver 6.7
Нетбук: Rosa Fresh R10
Контактная информация:

Re: apache2 с поддержкой множества виртуальных https-хостов

Сообщение Yamah » 22 июл 2014, 14:08

Поддерку виртуальных SSL-хостов смог добиться исправив конфиг /etc/httpd/conf.d/ssl.conf
Разница файлов:

Код: Выделить всё

diff ssl.conf_old ssl.conf                                                                                              
18a19                                                                                                                                       
> NameVirtualHost *:443                                                                                                                     
43a45,46                                                                                                                                    
> SSLStrictSNIVHostCheck off                                                                                                                
>                                                                                                                                           
69a73,79                                                                                                                                    
> SSLProtocol all                                                                                                                           
> SSLCipherSuite HIGH:MEDIUM                                                                                                                
>                                                                                                                                           
> AddType aoolication/x-x509-ca-cert .crt                                                                                                   
> AddType aoolication/x-x509-ca-cert .cer                                                                                                   
> AddType aoolication/x-pkcs7-crl .crl                                                                                                      
>                                                                                                                                           
95c105                                                                                                                                      
< SSLProtocol all -SSLv2                                                                                                                    
---                                                                                                                                         
> #SSLProtocol all -SSLv2                                                                                                                   
100c110                                                                                                                                     
< SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
---
> #SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
Ну и в конце нужные виртуальные хосты прописал.

Ответить