Ipv6

雙棧 Lighttpd 無需重複 SSL 配置

  • February 23, 2015

我正在嘗試 Lighttpd,但偶然發現了一個小但非常煩人的問題;IPv6 配置一團糟,需要您將 SSL 設置複製兩次;親眼看看

# listen to ipv4
server.bind = "0.0.0.0" 
server.port = "80" 

# listen to ipv6
$SERVER["socket"] == "[::]:80" {  }

# if you need ssl
$SERVER["socket"] == "0.0.0.0:443" { <here your ssl options> }
$SERVER["socket"] == "[::]:443" { <here your ssl options again> } // sadness

有誰知道避免這種情況的方法?我會說如果文件中有這樣的方法,但是在看到如何使用空條件塊來綁定到其他套接字之後,如果還有其他一些“神奇”且未記錄的方法,我不會感到驚訝達到我想要的。

我嘗試了設置為 or 的多種組合,server.bind[::]條件0.0.0.0設置為or 或簡單地[::]:443,但我總是最終缺少一個 HTTPS 套接字,無論是通過 IPv4 還是 IPv6,具體取決於組合(無法發布確切的結果,我沒有跟踪它們,重做測試很煩人)。0.0.0.0:443``:443

您可以使用變數並從文件中包含配置,請參閱核心模組的配置文件語法。我們可以在這裡使用後者:

$SERVER["socket"] == "0.0.0.0:443" { include "ssl.conf" }
$SERVER["socket"] == "[::]:443" { include "ssl.conf" }

然後在中進行配置ssl.conf

ssl.engine  = "enable"
ssl.use-sslv2 = "disable"
ssl.use-sslv3 = "disable"
ssl.pemfile = "/etc/ssl/private/example.pem" 
ssl.ca-file = "/etc/ssl/certs/example.crt" 

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