Как создать правило прокси lighttpd для перенаправления на разные порты на основе параметра URL? - PullRequest
2 голосов
/ 13 октября 2009

У меня в настоящее время есть правило proxy.server в lighttpd.conf, которое перенаправляет все запросы routemsg.pl на порт 1530:

$HTTP["url"] =~ "/routemsg.pl" {
    proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => 1528) ) )
}

Как я могу изменить правило, чтобы позволить запрашивающей стороне передавать параметр порта в URL-адресе, а затем этот параметр можно использовать в качестве порта для передачи запроса на прокси?

Например: запрос: http://www.myip.com/routemsg.pl?p=1531 будет отправлен на 127.0.0.1 на порту 1531.

1 Ответ

2 голосов
/ 29 ноября 2011

Вы можете попробовать использовать $HTTP["querystring"] и захватить порт с условным выражением, подобным этому:

$HTTP["url"] =~ "/routemsg.pl" {
    $HTTP["querystring"] =~ "p=([0-9]+)" {
        proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => "%1") ) )
    }
}

К сожалению, у меня нет настройки, на которой я могу подтвердить, что она работает прямо сейчас, я боюсь. (

...