Apache-2.2
IP重定向後訪問站點
我們正在使用 Apache2 在本地網路的一個系統上託管多個站點。一個這樣的網站如下:
<VirtualHost *:80> ServerName wiki.idi.local DocumentRoot /srv/dokuwiki/engineering </VirtualHost>
在我們的本地 DNS 伺服器上,我們將地址 wiki.idi.local 轉發到託管該站點的 PC,一切都按預期工作。
從本週開始,我們通過將本地 IP 地址映射到外部地址(通過代理重定向),獲得了一種從外部訪問本地網路的方法。例如,地址 3.205.151.6(外部)被重定向到 172.16.1.6(內部)。這適用於在 VirtualHost 中 DocumentRoot 為 localhost:port 的站點。在這種情況下,我們可以簡單地呼叫 3.205.151.6:port 來訪問我們的系統。問題是在上面提到的情況下,我找不到僅通過 IP 訪問該站點的方法。有沒有辦法在沒有訪問進行轉發的代理的情況下做到這一點?
您可能想要的是在您的 DNS 軟體中設置視圖,以便來自 Internet 的 DNS 查詢得到公共 IP 地址的答复,而來自本地網路的 DNS 查詢得到私有 IP 的答复。有關更多資訊,請查看此連結,例如
在 Apache 方面,您需要添加一些公共名稱,因為帶有 .local 的域是不可解析的。因此,假設您擁有域
idi.com
,您可以使用類似的內容更新您的 VirtualHost<VirtualHost *:80> ServerName wiki.idi.local ServerAlias wiki.idi.com DocumentRoot /srv/dokuwiki/engineering </VirtualHost>
並確保 wiki.idi.com 的公共 DNS 視圖以 IP 響應,
3.205.151.6
並且可能您可以為同一 wiki.idi.com 設置私有 DNS 視圖以進行響應,172.16.1.6
而您根本不需要域wiki.idi.local
。