
Estou testando o Lighttpd e me deparei com um problema pequeno, mas muito chato; a configuração do IPv6 é uma bagunça total e exige que você duplique as configurações de SSL duas vezes;Veja por si mesmo:
# 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
Alguém sabe uma maneira de evitar isso? Eu diria que se existisse tal maneira, estaria na documentação, mas depois de ver como blocos condicionais vazios podem ser usados para vincular a soquetes adicionais, não ficaria surpreso se houvesse algum outro método "mágico" e não documentado para conseguir o que quero.
Eu tentei várias combinações de configuração server.bind
para [::]
ou 0.0.0.0
, definindo as condicionais para [::]:443
, 0.0.0.0:443
ou simplesmente :443
, mas sempre acabei com um dos soquetes HTTPS faltando, seja por IPv4 ou IPv6, dependendo da combinação (não é possível postar os resultados exatos , não os acompanhei e refazer os testes é bastante chato).
Responder1
Você pode usar variáveis e incluir configurações de arquivos, vejaSintaxe do arquivo de configuração para o módulo principal. Podemos usar o último aqui:
$SERVER["socket"] == "0.0.0.0:443" { include "ssl.conf" }
$SERVER["socket"] == "[::]:443" { include "ssl.conf" }
e depois faça a configuração em 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"