基本網路架構
想要讓你的網站從外網被訪問,需要了解一些網路概念:
- 公網 IP:你的網路在 Internet 上的地址,任何人都能看到
- 私網 IP:家裡或辦公室內的內部網路地址,只有局域網能看到
- 路由器:連接公網與內網,負責轉送網路封包
- 端口(Port):每個服務對應一個門牌號碼,例如 HTTP 的 80、HTTPS 的 443
在你的 LAMP 架設中,Apache 預設使用 80 端口,所以你需要確保這個端口可以對外連線。
在 Alpine Linux 開啟端口與防火牆管理
Alpine 上可以使用 iptables 或 nftables 管理防火牆。 以下範例使用最簡單的 iptables:
# 允許 HTTP (80) 與 HTTPS (443) 連線
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 查看規則
sudo iptables -L
⚠️ 安全提醒:
- 隨便把你的家用網路暴露到公網非常危險,可能被掃描、入侵或挖礦攻擊
- 建議學習基礎網路安全概念,如防火牆規則、SSH 安全、弱密碼防護
- 僅開必要端口,其他服務盡量不要暴露到公網
路由器上的端口轉發
如果你在家用網路上架設伺服器,還需要在路由器上做 端口轉發(Port Forwarding):
- 進入路由器設定頁(通常是
192.168.0.1或192.168.1.1) - 找到「Port Forwarding」或「虛擬伺服器」設定
- 新增規則,將公網的 80 端口轉到你伺服器的內網 IP
- 保存後,重啟路由器(如果需要)
這樣外網用戶就可以透過你的公網 IP 連到你的 Apache 網頁。
測試網站是否運作
完成防火牆與端口轉發設定後,可以用以下方式測試:
- 在局域網內,用瀏覽器輸入伺服器內網 IP(例如
http://192.168.1.100) - 在外網,用瀏覽器輸入公網 IP(例如
http://你的公網IP) - 如果看到你的 Apache 網頁,恭喜,你的網站已經對外連線成功!
小提醒:如果無法連線,先確認:
- 防火牆規則是否正確
- Apache 是否正在運行
- 路由器端口轉發是否正確
小結
透過這一章,你了解了:
- 網路基本概念:公網/私網、端口、路由器
- 如何在 Alpine Linux 開啟端口、用防火牆管理安全
- 路由器端口轉發的基本操作
- 測試網站是否可以被外網訪問
網路安全非常重要,建議你多學習這部分知識,確保自己的伺服器安全。