
我正在嘗試 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
有誰知道如何避免這種情況?我想說,如果有這樣的方法,它會在文檔中出現,但是在看到如何使用空條件塊綁定到附加套接字之後,如果有其他一些“神奇”和未記錄的方法來綁定到其他套接字,我不會感到驚訝實現我想要的。
我嘗試了多種設定組合,將條件設為 , 或簡單地設定為server.bind
,但我總是會丟失一個 HTTPS 套接字,無論是透過 IPv4 還是透過 IPv6,取決於組合(無法發布確切的結果) ,我沒有跟踪它們,重做測試非常煩人)。[::]
0.0.0.0
[::]:443
0.0.0.0:443
:443
答案1
您可以使用變數並包含文件中的配置,請參閱核心模組的設定檔語法。我們可以在這裡使用後者:
$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"