Возможно ли иметь несколько ключей / сертификатов на виртуальном хосте в Apache 2? - PullRequest
1 голос
/ 28 апреля 2011

Я хотел бы знать, как настроить мой Apache 2 (версия 2.0.64) для использования нескольких пар ключ / сертификат для взаимной аутентификации.

Точнее, я настроил свой apache для приема соединений SSLна порту 443 с помощью этой конфигурации:

<VirtualHost _default_:443>
     SSLEngine on
     SSLCertificateFile certs/mycert.crt
     SSLCertificateKeyFile certs/mykey.key
     SSLCACertificateFile certs/ca.crt
     .....
</VirtualHost>

У меня есть 2 псевдонима, скажем:

https://myserver/project1
https://myserver/project2

Я хотел бы использовать разные пары ключ / сертификат (чем mykey.key /mycert.crt) для аутентификации клиента, который подключается ко второму URL (https://myserver/project2).

Я пробовал с директивами <Location> и <LocationMatch>, но директивы SSL, похоже, не поддерживаются этими директивами.

Как это можно сделать?

Ответы [ 2 ]

1 голос
/ 28 апреля 2011

Существует расширение с именем Указание имени службы (он же SNI ) в TLS.Клиент TLS указывает имя сервера, к которому он подключен;поэтому сервер может выбрать правильный ключ и сертификат для использования.

Согласно странице Википедии SNI оба модуля Apache 2 mod_ssl и mod_gnutls, кажется, поддерживают это расширение, а также многочисленные веб-клиенты

Учебник по настройке Apache 2 доступен здесь: http://en.gentoo -wiki.com / wiki / Apache2 / SSL_and_Name_Based_Virtual_Hosts

0 голосов
/ 14 июня 2011

Возможные решения для SNI с apache2:

  • Обновите apache2 до версии 2.2.x
  • Скомпилируйте / установите gnutls с apache2
...