lighttpd с несколькими IP-адресами, каждый с сертификатом UCC и множеством имен хостов
Я бы хотел, чтобы lighttpd работал с сертификатами UCC, но я не могу понять правильный синтаксис.
По сути, для каждого IP-адреса у меня есть один сертификат UCC и несколько имен хостов.
$SERVER["socket"] == "10.0.0.1:443" {
ssl.engine = "enable"
ssl.ca-file = "/etc/ssl/certs/the.ca.cert.pem"
ssl.pemfile = "/etc/ssl/private/websitegroup1.com.pem"
$HTTP["host"] =~ "mywebsite.com" {
server.document-root = /var/www/mywebsite.com/htdocs"
}
Приведенный выше код прекрасно работает для одного имени хоста, но как только я пытаюсь настроить другое имя хоста (обратите внимание на тот же сертификат SSL):
$SERVER["socket"] == "10.0.0.1:443" {
ssl.engine = "enable"
ssl.ca-file = "/etc/ssl/certs/the.ca.cert.pem"
ssl.pemfile = "/etc/ssl/private/websitegroup1.com.pem"
$HTTP["host"] =~ "anotherwebsite.com" {
server.document-root = /var/www/anotherwebsite.com/htdocs"
}
... я получаю эту ошибку: Duplicate config variable in conditional 6 global/SERVERsocket==10.0.0.1:443: ssl.engine
Есть ли способ, который я могу поставить условно, так что только если ssl.engine
еще не включен, включить? Или мне нужно поместить все мои $HTTP["host") в один и тот же $SERVER["socket"] (что усложнит мне управление конфигурационным файлом), или есть какой-то совершенно другой способ сделать это?
Это должно быть повторено для нескольких IP-адресов (так что я буду иметь кучу SERVER["socket"] == 10.0.0.2:443"
и т.д.), каждый с одним сертификатом UCC и несколькими именами хостов.
Я иду по этому пути совсем неправильно? Моя цель - сохранить IP-адреса, когда у меня есть много сайтов, которые связаны между собой и могут совместно использовать сертификат SSL, но при этом им нужна собственная версия, доступная по SSL, с соответствующего имени хоста (вместо одного secure.mywebsite.com).
1 ответ
Таким образом, единственное, что вам нужно изменить для каждого хоста - это корень документа? Вы пытались поместить соответствие хоста вне соответствия сокета и не повторять разделы сокета? например
$SERVER["socket"] == "10.0.0.1:443" {
ssl.engine = "enable"
ssl.ca-file = "/etc/ssl/certs/the.ca.cert.pem"
ssl.pemfile = "/etc/ssl/private/websitegroup1.com.pem"
}
$HTTP["host"] =~ "mywebsite.com" {
server.document-root = /var/www/mywebsite.com/htdocs"
}
$HTTP["host"] =~ "anotherwebsite.com" {
server.document-root = /var/www/anotherwebsite.com/htdocs"
}