headermask image

Notice: Undefined variable: t in /var/www/user97185/data/www/system-administrators.info/yandex-ad.php on line 15

Notice: Undefined variable: r in /var/www/user97185/data/www/system-administrators.info/yandex-ad.php on line 15
Рекомендую: Фриланс-биржа | Кэшбэк-сервис | Интернет-бухгалтерия

Создание 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, и более ничего.

Opennet.ru (с)

Постовой

“Этот кабинет руководителя настоящий шедевр”, подумал я, когда впервые увидел данное творение. Не могу представить теперь для себя другую мебель.

Похожие посты
  • Статистика lighttpd в cacti
  • Почти готов Windows Server 2008, плагин для Firefox, создание своего дистриба Ubuntu
  • Создание pdf в Office 2010
  • Создание точки восстановления в Windows 7
  • Создание записей в журнале событий операционной системы Windows Server 2003
  • Создание запроса для коллекции Windows 7 в Microsoft SCCM 2007
  • Восстановление загрузки Windows Vista, 2008 при помощи «консоли восстановления»
  • Фильтрация почты на сервере Postfix при помощи postgrey
  • Создание загрузочного USB диска из под Windows: uSbuntu Live Creator
  • Установка и настройка SSHD в среде chroot при помощи makejail
  • One Comment

    1. Вот за что я не люблю такие половинчатые “мануалы” так за то , что если кто-то попытается воспроизвести дословно ваше решение, то у него ничего не получится. Если лень писать развернутый мануал, то хотя бы пишите что именно вы пропустили и оставили за рамками статьи….
      Доводы на тему, что: “Это и ежу понятно” -не принимаются!
      Так как все мы разные, для меня и “ежу понятно” как собрать h323 под астериск, а вот вам?
      Удачи!

      1. mir on May 24th, 2010 at 9:57 am