
저는 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
로 설정하는 여러 조합을 시도했지만 조건을 , 또는 간단히 으로 설정했지만 조합에 따라 IPv4 또는 IPv6를 통해 항상 HTTPS 소켓 중 하나가 누락되었습니다(정확한 결과를 게시할 수 없음). , 나는 그것들을 추적하지 않았고 테스트를 다시 실행하는 것은 꽤 짜증나는 일입니다.)[::]
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"