在本地子網中我的手機無法訪問埠 80 上的網站
我正在我的筆記型電腦上建立一個網站。為了查看它是如何呈現的,我在埠 80 上使用
lighttpd
. 然後,我可以在筆記型電腦的瀏覽器中通過引用筆記型電腦http://localhost
或http://192.168.1.47
(本地子網上的 IP) 或http://coulomb
(其主機名) 的任何 IP 或 URL 打開它。美好的。現在我想測試它的響應式設計,所以我嘗試在手機瀏覽器中打開筆記型電腦地址:
http://192.168.1.47
或http://coulomb
. 兩個設備(手機和筆記型電腦)都在我的 Wifi DSL 盒子的 192.168.1.* 子網中。對我來說奇怪的是,手機的瀏覽器(無論是 Firefox 還是 Chrome)將 IP“改寫”為“localhost”。然後連接失敗,出現類似“站點無法訪問”的錯誤。
lighttpd
不是罪魁禍首。為了檢查這一點,我改為使用筆記型電腦的某個目錄的文件sudo ruby -run -ehttpd . -p80
,行為是相同的。港口有東西。如果我在埠 3000(如 lighttpd 文件中所示)或 8000 或 8080 上為網站提供服務,則它可以工作:手機的瀏覽器打開
192.168.1.47:3000
(或:8000
或:8080
)並且我看到了該網站。手機似乎也不是罪魁禍首:我可以在預設埠192.168.1.1打開DSL盒子的HTTP介面,沒有問題。(如果被要求,我可能會嘗試使用電腦客戶端而不是手機,但出於實際原因,這並不容易。)
如果您想知道為什麼我堅持在埠 80 上提供它:它是用 Wordpress 建構的,並且不能在自定義埠上正常工作,顯示純文字但沒有載入 css 或圖像。我不想通過調整 Wordpress 使其與自定義埠兼容來解決此問題,因為當網站準備好時,我會將其鏡像到公共伺服器。
您不能將 WordPress 站點定義為“localhost”,因為您發現它會堅持使用該名稱引用自己。
相反,使用可以在您的 LAN 上解析的名稱(如有必要,使用相關
/etc/hosts
文件,但最好使用您的 DNS),並確保您正在偵聽 LAN IP 地址以及localhost