我想要类似的东西:
“http://www.anyhostname.com”==> “http://192.168.0.1”
即。我想将除“192.168.0.1”之外的任何请求重定向到“http://192.168.0.1”
我使用Lighttpd作为我的网络服务器,使用dnsmasq作为我的DNS服务器。
答案 0 :(得分:0)
我不得不怀疑你是否正在做transparent proxying - 如果是这样的话,可能会有更好的机制来完成你想要做的事情,而不是按照你所描述的那样做你的目标。
但是如果你想继续这条路线,我想你可以使用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/
是 发现,那条道路成了docroot。如果请求
example.net
但没有 目录命名/home/user/sites/example.net/site/
存在,然后docroot仍然存在/home/user/sites/default/site
如果您要处理特定的主机名,可以将其添加到/etc/hosts
,dnsmasq
将为其提供服务。如果你想要处理几百个主机/域,这将有效,但如果你想处理一切,那么dnsmasq可能不是正确的工具。
我知道无论DNS问题如何,都可以使用PowerDNS's PipeBackend轻松给出相同的答案;这样,您可以轻松拦截请求并专门处理some or all请求。这样,您可以回答192.168.0.1
每个请求,某些请求或您可以编程的任何内容。
答案 1 :(得分:0)
好的,我解决了这个问题。在这里发布解决方案,希望它能帮助将来的某个人......
我通过修改lighttpd.conf文件解决了这个问题。我在lighttpd.conf文件中添加了以下内容:
$HTTP["host"] !~ "mydesiredhostname\.com" {
url.redirect = (
"" => "http://192.168.0.1/"
)
}
感谢大家的时间。干杯!