SSL 구성을 반복하지 않는 듀얼 스택 Lighttpd

SSL 구성을 반복하지 않는 듀얼 스택 Lighttpd

저는 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[::]:4430.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" 

관련 정보