Мне нужно проксировать сайт, который размещен во внешнем веб-пространстве, через мой лайтстик 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)
))
}