Lighttpd 上多主机的 SNI

Lighttpd 上多主机的 SNI

继承了 lighttpd 服务器,我对此有点不了解。尝试使用 SNI 安装第三个 SSL 证书,而无需其他 IP。目前 lighttpd.conf 中的 SSL 配置如下所示:

$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 将无法启动/重新启动。

答案1

您的 domain3.com.pem 文件正确吗?

Lighttpd 使用一种不太常见的构造,其中ssl.pemfile不仅应包含 CA 返回给您的签名证书,还应包含相关的私钥。

它看起来应该是这样的:

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

相关内容