Linux
無法從本地網路訪問 Apache 虛擬主機
我已經使用 Apache2 設置了一個虛擬主機,配置如下:
<VirtualHost *:8080> ServerName example.com DocumentRoot /var/www/example.com </VirtualHost>
可以從外部訪問該網站。
example.com
但是如果我
example.com
從本地網路中的另一個系統進入,它會打開我的路由器配置頁面。我將路由器埠 80 轉發到網路中的伺服器埠 8080。
但我也想從本地網路中的其他系統訪問該網站。這可能嗎?
如果您嘗試使用外部地址從內部訪問 Web 伺服器,您的路由器也必須轉換您的源地址。這稱為 NAT 反射。
如果沒有,則網路伺服器將返回流量直接發送到您的電腦,並且無法建立 TCP 連接,因為您的電腦與網路伺服器的外部地址通信並從內部地址獲取流量。
如果路由器轉換您的源地址,則網路伺服器會將返回流量發送到路由器,然後再將其中繼到您的電腦。
正如 Brandon Xavier 在評論中所建議的那樣,在內部和外部使用不同的 DNS 地址(拆分 DNS)將是另一種解決方案。這不需要 NAT 反射。