
我在家庭網路中設定了樹莓派 4 Web 伺服器。我在上面運行了 apache 和 php,並且可以從網路內部訪問該網站,但在網路外部時總是失敗。
我可以使用我的私有網域、公有網域和我的 Web 網域存取 Web 伺服器,但前提是請求主機位於我自己的家庭網路內。
我在路由器上啟動了端口轉發(端口 80 和端口 443),但似乎樹莓派甚至不監聽這些端口,因為每當我檢查端口 80 (https://www.yougetsignal.com/tools/open-ports/)它說連接埠已關閉(因為那裡正在運行網路伺服器,所以不應該打開它嗎?)。
我顯然可以提供與解決此問題相關的任何信息,但現在我不確定我還能說什麼...
我迷失了
任何關於可能出現問題的想法,非常感謝!
答案1
您有動態 DNS 設定嗎?如果您直接透過外部 IP 存取您的網頁伺服器,您可能會收到來自 Apache 的錯誤訊息,因為沒有
Host:
標頭,而當您使用網域名稱而不是 IP 時,瀏覽器會自動提供標頭。確保 Apache 已正確設定預設主機。如果您的路由器上啟用了 Web 管理,則路由器本身上的 Web 伺服器可能佔用連接埠 80 和 443。
您的 ISP 可能會阻止連接埠 80/443。嘗試使用 81 等端口,然後訪問您的端口
webserver through http://x.x.x.x:81
並查看是否有效。如果這有效,您將不得不使用備用連接埠。如果路由器中列出的「公用 IP」以 10.xxx、172.16.xx 到 172.31.xx 或 192.168.xx 開頭,則您位於「電信商級 NAT」後面,且無法開啟連接埠。