如何架設自己的 Blog

如何架設自己的 BLOG 之九

讓網站被外部看到,需要哪些網路概念?

網站在自己的電腦上看得到,不代表外部的人也連得到。要讓 Blog 對外開放,需要先了解幾個基本概念:

  • 公網 IP:你的網路在 Internet 上的對外位址,全世界都看得到
  • 私網 IP:家裡或辦公室內部網路的位址,只有同一個區網看得到
  • 路由器:連接私網與公網,負責轉送封包
  • Port(連接埠):每個服務對應一個「門牌號碼」,例如 HTTP 預設是 80,HTTPS 是 443

在這個系列架設的 LAMP 環境中,Apache 預設使用 80 埠,所以要確保這個埠可以從外部連進來。

在 Alpine Linux 上管理防火牆

Alpine 可以使用 iptablesnftables 管理防火牆規則,以下是 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,其他服務盡量不要對外公開

路由器上的 Port Forwarding

如果伺服器架在家用網路裡,還需要在路由器設定 Port Forwarding(連接埠轉發)

  1. 登入路由器設定頁面(通常是 192.168.0.1192.168.1.1
  2. 找到「Port Forwarding」或「虛擬伺服器」設定
  3. 新增規則,把公網的 80 埠轉發到伺服器的內網 IP
  4. 儲存設定,必要時重新啟動路由器

設定完成後,外部使用者透過你的公網 IP,就能連到伺服器上的 Apache。

測試網站是否能對外連線

  • 區網內:用瀏覽器輸入伺服器的內網 IP(例如 http://192.168.1.100
  • 外網:用瀏覽器輸入公網 IP(例如 http://你的公網IP

如果看不到網頁,依序檢查:

  • 防火牆規則是否允許該 Port
  • Apache 服務是否正在執行(rc-service apache2 status
  • 路由器的 Port Forwarding 設定是否正確

小結

這一篇談到了:公網/私網 IP、Port 的概念、Alpine 上的防火牆設定,以及路由器的連接埠轉發。把這些串起來,你的 Blog 就具備了「被外部看到」的基本條件。網路安全是長期需要關注的課題,建議之後持續補充這方面的知識。