Apache2 + SSL + Virtualhost = mod_gnutls

Столкнулся с проблемой, когда надо на разные виртуалхосты повесить разные сертификаты SSL. Апач в любом случае берет первый сертификат из конфига и ставит его на все виртуальные SSL-хосты (домены).

Долго я бился с этой гадостью, пока мне не подсказал один хороший человек (Sergey, спасибо тебе), в какую сторону копать. Оказывается, что SSL не позволяет по стандарту в Апач прикрутить более одного сертификата. Для того, чтобы это заработало надо к Апачу собрать модуль mod_gnutls. Он как раз и позволяет это все реализовать.

Ставится как всегда просто ‘./configure && make && make install’. Далее подгружаем его в конфиге и в VHost’ах прописываем такое:

GnuTLSEnable on
GnuTLSPriorities NORMAL
GnuTLSCertificateFile /home/silver/SSL/silver.crt
GnuTLSKeyFile /home/silver/SSL/silver.key

Как сгенерить сертификаты, я рассказывал в этой статейке.

Так что теперь мой сайт доступен и по https-протоколу. Чтоб не добавлять исключения в FF и не ругались браузеры, можно (да и нужно) установить сертификат центра сертификации, т.к. я использую самоподписной сертификат.

Поделиться этой заметкой с друзьями:

Добавь меня:

Вы можете оставить комментарий, или поставить трэкбек со своего сайта.

7 комментариев(я)

  • 08.09.2008 10:06, Ushkov сказал:

    Я что-то не догоняю, а в чем фишка?

    • 09.09.2008 09:11, Silver Ghost сказал:

      Что именно не понятно?

      • 25.12.2008 22:32, PadonaK сказал:

        при коннете по HTTPS
        [code]
        При соединении с silverghost.org.ua произошла ошибка.

        SSL получило запись, длина которой превышает максимально допустимую.

        (Код ошибки: ssl_error_rx_record_too_long)
        [/code]

        • 06.03.2009 17:20, pro100master сказал:

          Помятка. На name-based хостах не пойдёт. Будет Bad request.

          • 10.03.2009 12:16, Silver Ghost сказал:

            У меня использовались name-based и все работало без проблем.

            • 21.03.2009 12:22, pro100master сказал:

              Silver Ghost ,

              не вводите людей в заблуждение – сертификаты от центров сертификации даются 1 сертификат на 1 IP. А у name-based – 1 IP на всех виртуалках. Таким образом работать у вас будет только первый сертификат из конфига апача. О чем апач честно скажет при старте. Увы, но таков стандарт.

              • 15.05.2009 15:38, nevis2us сказал:

                pro100master,

                См.
                http://en.wikipedia.org/wiki/Server_Name_Indication

                Silver Ghost спасибо за подсказку.

                (Обязательно)
                (Обязательно, не публикуется)

                Админ не опаздывает - у него просто сегодня плохой трафик!