SSL proxy на lighttpd

(Оригинал написан для linuxetc.ru) Возникла необходимость сделать на lighttpd балансирующий ssl-прокси к веб-серверу под управлением Apache. Другими словами, реализовать схему:
               https-запрос
	            |
		   \\|/
                 lighttpd
		 /       \\
		/         \\
	    apache1      apache2
где apache1. apache2 выбираются, исходя из доступности. Так как задача отняла чуть больше времени и сил, чем ожидалось, приведу решение с небольшим комментарием: Выдержка из /etc/lighttpd/lighttpd.conf:
server.modules = ( "mod_redirect", "mod_access", "mod_proxy", "mod_accesslog" ) $SERVER["socket"] == "11.22.33.44:443" { ssl.engine = "enable" ssl.pemfile = "/etc/lighttpd/server.pem" proxy.balance = "fair" proxy.server = ( "" => (( "host" => "10.10.0.15", "port" => 80 ), ( "host" => "10.10.0.115", "port" => 80 ) )) } else $HTTP["host"] == "ssl-site.ru" { url.redirect = ( "^/(.*)" => "https://ssl-site.ru/$1" ) }
Как видим, апачи "за сценой" (на 10.10.0.15 и 10.10.0.115) работают на 80-ом порту, а вся https-часть возложена на lighttpd, принимающий запрос на 443-й порт на заданном ip. Ключевым здесь является то, что https-часть определяется как $SERVER["socket"], а не $HTTP["host"], как принято в lighttpd при описании виртуальных хостов. В https, как известно, на одном ip может быть только один ssl-сертификат, что и описывает приведённый кусок конфига. В описании же для http://ssl-site.ru содержится только редирект на https, и более ничего.