我正在尝试Lighttpd,而且我偶然发现了一个很小但非常烦人的问题。 IPv6configuration是一团糟,需要您复制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到[::]或0.0.0.0 ,设置条件为0.0.0.0:443或简单地:443 ,但我总是以一个的HTTPS套接字缺失,无论是在IPv4或IPv6取决于组合(不能发布确切的结果,我没有跟踪他们和重做testing是相当恼人的)。
您可以使用variables并包含来自文件的configuration ,请参阅核心模块的configuration文件语法 。 我们可以在这里使用后者:
$SERVER["socket"] == "0.0.0.0:443" { include "ssl.conf" } $SERVER["socket"] == "[::]:443" { include "ssl.conf" }
然后在ssl.conf进行configuration:
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"