lighttpd를 사용하여 모든 http 및 https 요청 리디렉션

lighttpd를 사용하여 모든 http 및 https 요청 리디렉션

나는 여분의 Raspberry Pi를 가지고 있으므로 PirateBox를 확인하기로 결정했습니다.

모든 것이 작동하지만 기본 동작은 https 요청을 리디렉션하지 않는 것입니다. PirateBox는 결코 인터넷에 연결되지 않으며 연결하는 사람들은 요청할 주소를 모를 가능성이 높으므로 모든 요청(http & https)을 PirateBox Uri, Piratebox.lan으로 리디렉션하고 싶습니다.

종속 포털과 유사하게 설정하고 싶지만 인증이 필요하지 않으며 요청이 항상 리디렉션됩니다.

PirateBox는 dnsmasq 및 lighttpd와 함께 Arch Linux를 사용합니다.
내 현재 설정은

/etc/dnsmasq.conf

address=/#/192.168.77.1

/opt/piratebox/conf/lighttpd/lighttpd.conf

$HTTP["host"] !~ "^piratebox\.lan.*$" {
        url.redirect = ( "^/(.*)$" => "http://piratebox.lan/redirect.html" )
}

$SERVER["socket"] == ":443" {
        $HTTP["host"] !~ "^piratebox\.lan.*$" {
                url.redirect = ( "^/(.*)$" => "http://piratebox.lan/redirect.html" )
        }
}

$SERVER["socket"] == ":80" {
        $HTTP["host"] !~ "^piratebox\.lan.*$" {
                url.redirect = ( "^/(.*)$" => "http://piratebox.lan/redirect.html")
        }
}

모든 http 요청은 PirateBox 페이지로 리디렉션되지만 https 요청은 리디렉션되지 않고 PirateBox 페이지가 로드되지 않으며 시간 초과만 발생합니다.

내가 뭘 잘못하고 있는 걸까요? 아니면 다른 방식으로 접근해야 합니까?

업데이트
나는 또한 시도했다

$HTTP["scheme"] == "https" {
        url.redirect = ( "^/(.*)$" => "http://piratebox.lan/redirect.html" )
}

그리고 그것도 작동하지 않습니다

답변1

나는 그 자체에 대한 경험이 많지 않지만 lighttpd구성 파일의 의미로 볼 때 포트에 연결이 들어오는 경우 URL에 지정하거나 포트에 관계없이 443포트로 리디렉션되는 것 같습니다. 아니다. 내가 올바르게 이해했고 port 로 리디렉션하려면 지시문에 명시적으로 지정해야 합니다.443http://80

url.redirect = ( "^/(.*)$" => "http://piratebox.lan:80/redirect.html" )

관련 정보