[an error occurred while processing this directive]

Создание SSL прокси при помощи lighttpd
Возникла необходимость сделать на 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, и более ничего.
 
21.02.2009 , Автор: Sergey Shkuratov
Ключи: ssl, proxy, lighttpd / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевые сервисы / WWW, Apache httpd / Редирект, mod_rewrite

[an error occurred while processing this directive]

[an error occurred while processing this directive]