Фунт: несколько доменов

Я использовал фунт для запуска mydomain.dk. Теперь я купил несколько других доменов и сертификатов SSL, которые являются mydomain.no, mydomain.se и mydomain.eu. Мой старый конфиг выглядел примерно так:

ListenHTTPS
        Address 81.19.246.120
        Port    443
        Cert    "/usr/local/etc/pound.keys/mydomain.dk.pem"

        Service
                BackEnd
                Address 10.0.10.10
                Port    8080
                End
        End
End

В таких местах, как здесь, я видел, что я могу использовать HeadRequire в части Service, но я хочу, чтобы заголовок Host шел вместе с Cert, в идеале что-то вроде

ListenHTTPS
        Address 81.19.246.120
        Port    443
        HostAndCert    "mydomain.dk" "/usr/local/etc/pound.keys/mydomain.dk.pem"
        HostAndCert    "mydomain.se" "/usr/local/etc/pound.keys/mydomain.se.pem"
        HostAndCert    "mydomain.no" "/usr/local/etc/pound.keys/mydomain.no.pem"
        HostAndCert    "mydomain.eu" "/usr/local/etc/pound.keys/mydomain.eu.pem"

        Service
                BackEnd
                Address 10.0.10.10
                Port    8080
                End
        End
End

Любые предложения или подсказки, как я могу сделать это?

ура

Nik

РЕДАКТИРОВАТЬ: Да, на http://www.apsis.ch/pound/ Я вижу, что это не может быть сделано, требуется один домен IP pr SSL. Есть ли хорошие альтернативы, когда я не могу использовать подстановочные SSL-символы, в которых указано mydomain.*?

5 ответов

Решение

Пока не поддерживается указание имени сервера, лучшим вариантом является получение сертификата унифицированной связи, который включает все имена, которые необходимо защитить в одном сертификате.

Для решения этой проблемы существует новая функция TLS: индикация имени сервера. Это еще не широко поддерживается.

Это похоже на пост на очень старую историю, но я могу привести некоторые элементы решения здесь:

Я прочитал на официальном сайте фунта на их "обновлении в июне 2010 года", что фунт может перейти к openssl SNI (индикация имени сервера), которая позволяет создать обратный прокси https.

Кроме того, в списке рассылки фунта (в котором я совершенно не смог зарегистрироваться:O) я прочитал, что кто-то достиг этого успеха SNI с фунтом. Я нахожусь на Linux, и мой браузер поддерживает sni, как сообщается в этой проверке.

Однако, похоже, что учитывается только первый сертификат, указанный в файле конфигурации фунта. На самом деле, у меня точно такая же проблема, о которой сообщалось здесь: первый сертификат показывается клиенту, если он связан с доменным именем, это нормально, иначе сертификат больше не пробуется, и на клиенте отображается предупреждение браузер.

Моя конфигурация такая:

ListenHTTPS
  Address 172.23.1.2
  Port  443
  Cert "/etc/pound/ssl/wiki.pem"
  Cert "/etc/pound/ssl/frontend.pem"

  Service
      HeadRequire "Host: .*wiki.mydomain.net.*"
      BackEnd
          Address 192.168.0.110
          Port 8080 
      End
  End
  Service
      HeadRequire "Host: .*mydomain.net.*"
      Backend
          Address 192.168.0.103
          Port 8080
      End
  End
End

Кто-нибудь знает, как заставить каждый сертификат проверяться, пока не будет найден соответствующий?

Большое спасибо за ответ,

Такая функция существует в отношении wikipedia_SNI.

К сожалению, все браузеры и ОС не поддерживают это, но, как я уже писал, я работаю на ОС и браузере, которые позволяют это. Грубо говоря, вы должны работать в браузере, который включает в себя библиотеку openssl, разрешающую эту функцию (Vista или более позднюю), или браузер, реализующий ее (например, Firefox > 3).

И приведенные мной примеры, кажется, доказывают, что такое мышление возможно с фунтом. Это то, что мы хотели бы реализовать.

Сожалею, что, насколько мне известно, у вас может быть только .mydomain.com, но у вас не может быть mydomain.

Я не знаю альтернативы, у вас должен быть один IP-адрес для одного SSL.

Другие вопросы по тегам