Ssl

Lighttpd 上多個主機的 SNI

  • May 15, 2017

繼承的 lighttpd 伺服器,我對此有些無能為力。嘗試使用 SNI 在沒有其他 IP 的情況下安裝第三個 SSL 證書。目前 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 不會啟動/重新啟動。

您的 domain3.com.pem 文件是否正確?

Lighttpd 使用一種不太常見的結構,其中ssl.pemfile不僅應包含 CA 返回給您的簽名證書,還應包含相關的私鑰。

它應該看起來像:

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

引用自:https://serverfault.com/questions/850256