我想是這樣的:如何重定向到一個默認的主機名
「http://www.anyhostname.com」 ==> 「http://192.168.0.1」
即我想將除「192.168.0.1」以外的任何請求重定向到「http://192.168.0.1」
我使用Lighttpd作爲我的網絡服務器,dnsmasq作爲我的DNS服務器。
我想是這樣的:如何重定向到一個默認的主機名
「http://www.anyhostname.com」 ==> 「http://192.168.0.1」
即我想將除「192.168.0.1」以外的任何請求重定向到「http://192.168.0.1」
我使用Lighttpd作爲我的網絡服務器,dnsmasq作爲我的DNS服務器。
好的,我解決了這個問題。在這裏發佈解決方案,希望它可以幫助未來的人...
我通過修改lighttpd.conf文件解決了這個問題。我說我lighttpd.conf文件中的以下內容:
$HTTP["host"] !~ "mydesiredhostname\.com" {
url.redirect = (
"" => "http://192.168.0.1/"
)
}
謝謝大家對你的時間。乾杯!
我不知道你是否在做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/
存在,那麼文檔根仍然/home/user/sites/default/site
如果您有要處理具體的主機名,你可以將它們添加到/etc/hosts
和你dnsmasq
將爲他們服務。如果你有幾百個你想要處理的主機/域名,這可以工作,但如果你想處理,那麼dnsmasq可能不是正確的工具。
我知道PowerDNS's PipeBackend可以用來輕鬆地給出相同的答案,無論DNS問題;這樣,您可以輕鬆攔截請求並專門處理請求。這樣,你可以回答192.168.0.1
每請求,一些請求,或任何你可以編程。
你知道如何用lighttpd或dnsmasq特別實現這個功能嗎? – 2011-03-23 10:07:25
Lighttpd看起來好像可以,查看'mod_evhost'的文檔以獲取詳細信息;我複製的小「通用示例」表明,它可以在大致兩行配置中完成。我不認爲dnsmasq可以完成你對_all_域的所有操作,但通過'/ etc/hosts'處理幾百個應該很簡單。 – sarnold 2011-03-23 10:10:27
我沒有多個網站在我的網絡服務器上運行......我只是想確保對於除我的主機名以外的任何該死的請求,該請求默認被重定向到「http://192.168.0.1」...可以這個成就了嗎? – 2011-03-23 10:49:35