Как перенаправить на имя хоста по умолчанию - PullRequest
0 голосов
/ 23 марта 2011

Я хочу что-то вроде:

"http://www.anyhostname.com" ==>" http://192.168.0.1"

т.е. Я хочу перенаправить любой запрос, кроме "192.168.0.1", на "http://192.168.0.1"

Я использую Lighttpd в качестве веб-сервера и dnsmasq в качестве DNS-сервера.

Ответы [ 2 ]

0 голосов
/ 23 марта 2011

Хорошо, я решил проблему.Публикация решения здесь с надеждой, что оно кому-нибудь поможет в будущем ...

Я решил это, изменив файл lighttpd.conf.Я добавил следующее в свой файл lighttpd.conf:

$HTTP["host"] !~ "mydesiredhostname\.com" {
        url.redirect = (
                                "" => "http://192.168.0.1/"
                        )
}

Спасибо всем за ваше время.Ура! * * 1006

0 голосов
/ 23 марта 2011

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

Но если вы хотите продолжать идти по этому пути, я думаю, вы можете использовать средство lighttpd mod_evhost, чтобы легко использовать конфигурацию сайта по умолчанию:

Общий пример:

server.document-root = "/home/user/sites/default/site"   
evhost.path-pattern  = "/home/user/sites/%0/site/" 

Если запрашивается example.org и обнаруживается /home/user/sites/example.org/site/, этот путь становится документированным.

Если запрашивается example.net, но каталог с именем /home/user/sites/example.net/site/ не существует, тогдадокумент остается /home/user/sites/default/site

Если у вас есть определенные имена хостов, которые вы хотите обработать, вы можете добавить их к /etc/hosts и ваш dnsmasq будет обслуживать их.Это сработало бы, если бы у вас было несколько сотен хостов / доменов, которые вы хотели бы обработать, но если вы хотели обрабатывать все , то dnsmasq, возможно, не является правильным инструментом.

Я знаю, что В PowerDNS PipeBackend можно легко получить одинаковый ответ независимо от вопроса DNS;таким образом, вы можете легко перехватывать запросы и обрабатывать некоторых или всех запросов специально.Таким образом, вы можете ответить 192.168.0.1 для на каждый запрос, для некоторых запросов или всего, что вы можете запрограммировать.

...