Xpoint
   [напомнить пароль]

Apache и Wildcard SSL

Метки: [без меток]
2012-03-26 15:17:41 [обр] Максим[досье]

Господа, помогите пожалуйста советом/ссылко/чистыми знаниями по следующему вопросу..

Есть у меня сервер, Apache 2.2, на котором крутится порядка 100 доменов, являющихся друг другу алиасами. Конфиг апача для них вот такой:

<VirtualHost *>
ServerAdmin it@domain.ru
ServerName main.domain.ru
ServerAlias www.main.domain.ru
ServerAlias 1.domain.ru
ServerAlias 2.domain.ru
ServerAlias 3.domain.ru
ServerAlias 4.domain.ru
ServerAlias 5.domain.ru
ServerAlias 6.domain.ru
ServerAlias 7.domain.ru
ServerAlias 8.domain.ru
ServerAlias 9.domain.ru
.......
</VirtualHost>

Теперь мне эти 100 доменов надо пересадить на SSL. Как сгенерить wildcard-сертификат самоподписанный я разобрался, но что и как нужно перенастроить в апаче - не могу найти толкового ничего. Если добавляю в вышеуказанный конфиг свой сертификат то получаю ошибку apache

Init: You should not use name-based virtual hosts in conjunction with SSL!!

Подскажите пожалуйста популярно что делать? я не админ по сути, мне это все не очень легко дается

спустя 42 минуты [обр] Евгений Седов aka KPbIC(4/176)[досье]
спустя 29 минут [обр] Максим[досье]

Я правильно понимаю, что надо либо делать сотню виртуальных хостов вида

<VirtualHost 192.168.01.1:443>
...
</VirtualHost>

? Где для каждого домена меняется либо порт либо айпи.

Про такой случай я читал, а попроще никак нельзя? Айпишников столько нет, получается разносить только по портам. Это клиентам надо будет каждому сообщить его номер порта?

спустя 3 часа 37 минут [обр] Евгений Седов aka KPbIC(4/176)[досье]
По ссылке так написано, да?
спустя 1 час 12 минут [обр] Филипп Ткачев(6/112)[досье]
Нет Максим[досье]. Там написано про то, что вам необходимо иметь Apache 2.2.12 или более новый, собранный с OpenSSL начиная от 0.9.8j и старше. Только с ними вы сможете использовать последнюю возможность - Server Name Indication (SNI), отображение имени сервера. Главная причина в том, что сначала формируется SSL-туннель и только внутри него происходит HTTP-сессия. А SSL-туннель формируется на уровне IP-адреса и номера порта. Благодаря SNI Apache разбирается с именем и IP-адресом.
спустя 18 часов [обр] Максим[досье]
Спасибо большое, Филипп. Но, опять же если я правильно понял, поддержка SNI отсутствует на Windows XP + IE
спустя 12 минут [обр] Евгений Седов aka KPbIC(4/176)[досье]
Если без SNI, то на любой хост будет выдаваться один и тот же сертификат. Вас это не устраивает?
спустя 7 минут [обр] Максим[досье]
Да, конечно, у меня wildcard SSL на *.domain.ru будет куплен, сейчас пытаюсь на самоподписанном настроить в тестовом режиме
спустя 15 минут [обр] Евгений Седов aka KPbIC(4/176)[досье]
Не знаю как это сделать на Apache, но можно фронтом поставить nginx.
спустя 1 час 54 минуты [обр] Евгений Седов aka KPbIC(4/176)[досье]

Насколько я понял, апач, в случае если браузер не поддерживает SNI, отдаст 403 ошибку. Но если выставить SSLStrictSNIVHostCheck off, то ошибки не будет, а запрос пойдет на первый из определенных виртуальных серверов. Таким образом, первый виртуальный сервер становится дефолтным.

В отличие от Apache, Nginx выдаст сертификат первого виртуального сервера, но запрос пойдет на соответствующий сервер (не обязательно на первый). Соответственно с него вы можете без проблем проксировать по HTTP на нужный вам Apache.

Powered by POEM™ Engine Copyright © 2002-2005