Назад | Перейти на главную страницу

SNI для нескольких хостов на Lighttpd

Унаследовал сервер lighttpd, я немного не разбираюсь в нем. Попытка использовать SNI для установки третьего SSL-сертификата без другого IP-адреса. В настоящее время конфигурация SSL в lighttpd.conf выглядит так:

$SERVER["socket"] == ":443" {
  ssl.engine = "enable"
  ssl.pemfile = "/etc/ssl/private/domain1.com.pem"
  ssl.ca-file = "/etc/ssl/private/chain.cer"
  $HTTP["host"] == "domain2.com" {          
     ssl.pemfile = "/etc/ssl/private/domain2.com.pem"
     ssl.ca-file = "/etc/ssl/private/chain.cer"
  }
}

Попытка добавить третий сертификат, например:

$SERVER["socket"] == ":443" {
  ssl.engine = "enable"
  ssl.pemfile = "/etc/ssl/private/domain1.com.pem"
  ssl.ca-file = "/etc/ssl/private/chain.cer"
  $HTTP["host"] == "domain2.com" {          
     ssl.pemfile = "/etc/ssl/private/domain2.com.pem"
     ssl.ca-file = "/etc/ssl/private/chain.cer"
  }
  $HTTP["host"] == "domain3.com" {          
     ssl.pemfile = "/etc/ssl/private/domain3.com.pem"
  }
}

Что-то не работает, lighttpd не запускается / не перезапускается, когда конфигурация выглядит так.

Ваш файл domain3.com.pem правильный?

Lighttpd использует немного менее распространенную конструкцию, в которой ssl.pemfile должен содержать не только подписанный сертификат, который вам вернул ваш центр сертификации, но и связанный с ним закрытый ключ.

Должно получиться так:

-----BEGIN CERTIFICATE-----
ABC...
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
ABC...
-----END PRIVATE KEY----