Фунт: несколько доменов
Я использовал фунт для запуска 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.