Назад | Перейти на главную страницу

Модуль прокси Lighttpd - использовать с именем хоста

Мне нужно проксировать сайт, который размещен во внешнем веб-пространстве, через мой лайтстик example.org. Моя конфигурация на данный момент:

$HTTP["url"] =~ "^/webmail" {
    proxy.server =  ("/webmail/" => (
        # this entry should link to example2.org
        ("host" => "1.2.3.4", "port" => 80)
    ))
}

Провайдер веб-пространства настроил мой домен как vhost. Итак, если я получу доступ http://1.2.3.4/webmail/ lighttpd доставит только основной сайт провайдера веб-пространства, который сообщает: «Сайт example.org не найден на нашем сервере».

Любые предложения, как мне настроить Lighty для прокси-сайтов, которые размещаются только как vhost (и не имеют собственного IP-адреса)?

Вам нужно, чтобы ваш хостинг-провайдер поддерживал X-Forwarded-Host заголовок. Может уже работает, попробуйте. Это можно легко добавить с помощью встроенных возможностей lighttpd.

proxy.forwarded = ( "host" => 1 )

включает его на вашем прокси-сервере.

Я считаю, что это можно исправить с помощью mod_setenv:

$HTTP["url"] =~ "^/webmail" {
    # add host header
    setenv.add-request-header ( "Host" => "example2.org" )

    proxy.server =  ("/webmail/" => (
        # this entry should link to example2.org
        ("host" => "1.2.3.4", "port" => 80)
    ))
}