Linux

從 /etc/hosts 中設置的主機解析中排除子目錄(使用 dnsmasq 或其他任何東西)

  • December 30, 2020

我有一個本地開發工具 ( LocalWP ),它通過修改/etc/hosts.

例如,如果我將我的站點設置為 Local www.foo.com,它會將以下內容附加到 hosts 文件中:

127.0.0.1 www.foo.com

這很好,但我需要在這個域中排除一個子目錄(不是子域),所以它解析到另一個(原始)IP。

當然,這是不可能的,etc/hosts因為它只是一個 DNS 指針,除了域之外不解析任何內容。但是,我想知道是否有另一個工具可以用來從目前hosts文件中排除子目錄,並將其指向一個新的 IP。

我想知道像 dnsmasq 這樣的東西是否可以實現這一點,或者是否有另一種工具可以用於基於路徑解析的某些條件 DNS 行為,而不僅僅是域。

你不能那樣做。

名稱解析由 DNS(/etc/hosts或 dnsmasq 或其他)處理,但第一個之後的所有內容都是/HTTP 協議的一部分,因此由您的 Web 瀏覽器(在您這邊)和 Web 伺服器(在另一邊); DNS(或/etc/hosts, 或 dnsmasq 或其他)僅用於查找與主機名關聯的 IP 地址,無論您嘗試訪問哪個子目錄,該地址始終相同;只有在建立連接才會使用實際的 HTTP 路徑。

引用自:https://serverfault.com/questions/1048105