双栈 Lighttpd 无需重复 SSL 配置

双栈 Lighttpd 无需重复 SSL 配置

我正在尝试 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[::]0.0.0.0,将条件设置为[::]:4430.0.0.0:443或者简单地:443,但我总是最终缺少一个 HTTPS 套接字,根据组合的不同,要么通过 IPv4 要么通过 IPv6(无法发布确切的结果,我没有跟踪它们并且重新进行测试非常烦人)。

答案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" 

相关内容