Synology. Nas WordPress 在外無法連接閱讀
在 Synology NAS 上架設 WordPress,卻無法從外網(外部網路)連接,通常是由於路由器的通訊埠轉發(Port Forwarding)、DDNS 設定或 WordPress 內部的網址設定不一致所導致的。
請依照以下四個核心步驟進行檢查與修正:
1. 確保 DDNS 設定正常
首先,確保你的 NAS 已經有一個對外的「門牌號碼」。
- 路徑: 控制台 > 外部存取 > DDNS。
- 檢查狀態是否顯示為 「正常」。
- 注意: 如果你使用的是 QuickConnect,它雖然可以存取 DSM 管理介面,但不支援直接用來開啟 WordPress 網頁。你必須使用 DDNS(例如:xxxx.synology.me)。
2. 設定路由器通訊埠轉發 (Port Forwarding)
這是最常見的原因。外網的請求到了你的路由器,但路由器不知道要把請求交給 NAS。
- 你需要進入你的路由器設定介面(通常是 192.168.1.1),找到「虛擬伺服器」或「通訊埠轉發」。
- 手動新增規則:
- HTTP: 外部通訊埠 80 → 內部 IP (NAS 的本地 IP) → 內部通訊埠 80。
- HTTPS: 外部通訊埠 443 → 內部 IP (NAS 的本地 IP) → 內部通訊埠 443。
提示: 許多人只開了 5000/5001 (DSM),忘記網頁服務需要的是 80/443。
3. 修改 WordPress 內部的網址設定
如果你在內網安裝 WordPress 時使用的是內部 IP(如 192.168.x.x),WordPress 會把這個 IP 寫死在資料庫裡。當你從外網連接時,網頁會試圖加載內部的圖片或連結,導致連線失敗。
- 方法 A (如果你還能進去後台): 登入 WordPress 後台 > 設定 > 一般。將「WordPress 位址 (URL)」與「網站位址 (URL)」都改為你的 DDNS 網址(例如:http://xxxx.synology.me/wordpress)。
- 方法 B (如果你進不去後台):
- 進入 Synology 的 File Station。
- 找到 web/wordpress/wp-config.php 檔案,下載並用記事本打開。
- 在 /* That’s all, stop editing! Happy publishing. */ 這一行上方加入以下代碼:
define(‘WP_HOME’,’http://你的DDNS網址/wordpress’);
define(‘WP_SITEURL’,’http://你的DDNS網址/wordpress’);
4. Web Station 設定 (DSM 7.0+ 適用)
確保 Web Station 有正確將流量導向 WordPress 服務。
- 打開 Web Station > 網頁服務入口。
- 確認是否有 WordPress 的項目。
- 如果想讓網址更好看(例如直接用 http://blog.xxxx.synology.me 進入),可以點選「新增」>「網頁服務入口」,選擇「基於名稱」並輸入你的子網域。
- 常見疑難排解
- 防火牆檢查: 檢查 NAS 控制台 > 安全性 > 防火牆,確保沒有阻擋 80/443 通訊埠。
- 500 錯誤: 如果出現 500 錯誤,通常是 PHP 延伸模組未開啟。請到 Web Station > 指令碼語言設定 > PHP 編輯對應的版本,將「擴充模組」全部勾選試試。
- 您目前是否已經申請了 DDNS(像是 xxxx.synology.me)?或是您在嘗試連線時看到了特定的錯誤訊息(如「連線逾時」或「404」)? 告訴我更多細節,我可以幫您更精準地定位問題。
有xxx.synology .me 了 這是否對 Synology nas 有安全威脅?
使用 xxx.synology.me 本身就像是給你的房子掛上一個「門牌號碼」。這確實會增加被發現的機會,但只要「門窗鎖好」,並不會直接構成威脅。
當你開啟了 DDNS 並做了通訊埠轉發(Port Forwarding),全世界的自動掃描機器人(Botnets)都能透過這個網址找到你的 NAS。如果你的防護不夠,這就像是門沒鎖好。
以下是針對 DDNS 存取環境的必做安全加固建議:
1. 關閉預設管理連接埠 (最重要)
黑客最喜歡掃描預設的 5000 (HTTP) 和 5001 (HTTPS)。
- 做法: 到 控制台 > 登入方式,將 DSM 的連接埠改為隨機數字(例如 12345 或 38942)。
- 效果: 機器人掃描 5001 沒反應,大多會直接放棄,增加攻擊門檻。
2. 開啟「兩步驟驗證」(2FA)
即使你的密碼被猜到或流出,沒有你手機上的 6 位數動態驗證碼,黑客也進不去。
- 路徑: 點擊右上角個人圖示 > 個人設定 > 安全性 > 雙重驗證。
3. 設定「自動封鎖」功能
這是對抗「暴力破解」(一直猜密碼)的強力防線。
- 路徑: 控制台 > 安全性 > 防護 > 自動封鎖。
- 建議設定: 5 分鐘內嘗試 3 次失敗,即永久封鎖該 IP。
- 進階: 同時開啟「帳號保護」,針對登入失敗次數過多的帳號暫時鎖定。
4. 僅開放必要的通訊埠
不要為了方便而開啟「DMZ」或「UPnP」(這會打開所有門)。
- 如果你只需要外網看 WordPress,路由器只需要轉發 80 和 443。
- 如果你不需要從外網管理 NAS,不要轉發 DSM 的管理連接埠(5001 或你改過的那個)。
5. 使用 HTTPS 與憑證 (SSL)
確保你的 WordPress 與 NAS 連結是加密的。
- 路徑: 控制台 > 安全性 > 憑證。
- 向 Let’s Encrypt 申請免費憑證。這樣你在外網輸入網址時,瀏覽器才會顯示綠色鎖頭,資料傳輸才不會被中途截取。
總結:威脅程度評估
| 存取方式 | 安全程度 | 威脅描述 |
|---|---|---|
| 純內網 (不開 DDNS) | 🛡️🛡️🛡️🛡️🛡️ | 極安全,但外面連不進來。 |
| DDNS + 雙重驗證 + 自訂 Port | 🛡️🛡️🛡️🛡️ | 推薦平衡點,足夠應付 99% 的隨機攻擊。 |
| DDNS + 預設 Port (5001) + 弱密碼 | ⚠️ | 極度危險,幾天內就會被嘗試暴力破門。 |
需要我幫您檢查如何設定更安全的「自動封鎖」規則,或是引導您申請 Let’s Encrypt 憑證嗎?
申請 Let’s Encrypt 憑證
申請 Let’s Encrypt 免費憑證是保護 Synology NAS 最重要的一步。它能將你的連線從不安全的 http 升級為加密的 https,不僅能消除瀏覽器的「不安全」警告,還能防止密碼在傳輸過程中被竊聽。
以下是詳細的申請步驟:
第一階段:前置檢查
在申請之前,請務必確認以下兩點,否則申請會失敗:
- DDNS 已就緒: 你必須已經設定好 xxx.synology.me。
- 開啟 Port 80: Let’s Encrypt 的驗證伺服器會透過 Port 80 連線到你的 NAS。請確保你的路由器已將 Port 80 轉發(Forwarding)至 NAS 的內部 IP。
- 註:申請成功後,可以關閉 Port 80,但建議保留,以便未來自動續期。
第二階段:申請憑證步驟
- 進入 DSM 「控制台」 > 「安全性」 > 「憑證」。
- 點選 「新增」 > 選擇 「新增憑證」 > 點選 「下一步」。
- 選擇 「從 Let’s Encrypt 取得憑證」,並勾選 「設為預設憑證」。
- 填寫以下資訊:
- 網域名稱: 輸入你的 DDNS 網址(例如:xxx.synology.me)。
- 電子郵件: 輸入你的 Email(憑證到期前會收到通知,雖然 Synology 會自動續期)。
- 主體別名: 若你有其他子網域(如 blog.xxx.synology.me)可填入,若無則留空。
- 點選 「套用」。系統會與 Let’s Encrypt 通訊,成功後狀態會顯示為綠色的 「正常」。
第三階段:將憑證指定給 WordPress
拿到憑證後,你必須告訴 NAS「哪些服務要使用這個憑證」:
- 在同一個 「憑證」 頁面中,點選上方按鈕 「設定」。
- 在彈出的視窗中,你會看到系統內所有的服務列表(如系統預設、Web Station、WordPress 等)。
- 將這些服務右側的憑證欄位,全部下拉切換成你剛剛申請好的 xxx.synology.me。
- 點選 「確定」。
進階小提醒:強制使用 HTTPS
為了確保外網連線 WordPress 時絕對安全,建議開啟強制轉向:
- 路徑: 控制台 > 登入方式 > DSM。
- 勾選 「將 HTTP 連線自動重新導向至 HTTPS」。
常見失敗原因
- Port 80 沒開: 這是 90% 申請失敗的原因。請暫時關閉 NAS 防火牆或確認路由器規則。
- 頻率限制: 如果短時間內重複申請失敗多次,Let’s Encrypt 會暫時封鎖該域名一小時。
設定好憑證後,您可以在瀏覽器輸入 https://xxx.synology.me/wordpress 測試看看。需要我接著教您如何將 WordPress 裡的網址也改成 https 格式嗎?
將 WordPress 裡的網址也改成 https 格式
既然憑證已經申請好,這最後一步非常關鍵。如果你不修改 WordPress 內部的網址設定,雖然你用了 https 連進去,但網頁內部的圖片和 CSS 樣式可能還是會走 http,這會導致瀏覽器出現「混合內容(Mixed Content)」警告,網頁排版甚至會亂掉。
請按照以下步驟完成最後的轉換:
第一步:修改 WordPress 後台網址
- 登入你的 WordPress 後台。
- 進入 「設定 (Settings)」 > 「一般 (General)」。
- 找到以下兩個欄位:
- WordPress 位址 (URL)
- 網站位址 (URL)
- 將原本的 http://xxx.synology.me/wordpress 全部改為 https://xxx.synology.me/wordpress (多加一個 s)。
- 捲動到下方點擊 「儲存設定」。
- 注意:儲存後系統會自動將你登出,這是正常的,請用新的 https 網址重新登入即可。
第二步:處理舊有的「硬編碼」連結 (建議操作)
雖然改了後台設定,但你之前寫的文章裡,圖片路徑可能還是舊的 http。我們可以使用外掛程式一次性掃描並取代它們:
- 在 WordPress 安裝並啟用外掛:「Better Search Replace」。
- 進入 「工具」 > 「Better Search Replace」。
- 在 Search for 輸入:http://xxx.synology.me
- 在 Replace with 輸入:https://xxx.synology.me
- 在 Select tables 中選取所有的資料表(Ctrl+A 或 Cmd+A)。
- 先勾選最下方的 「Run as dry run? (測試執行)」 看看會改動多少地方。
- 確認沒問題後,取消勾選 「Run as dry run?」 並正式執行。
第三步:在 Synology Web Station 強制 HSTS (選填)
為了讓安全性更上一層樓,你可以讓 NAS 告訴瀏覽器「永遠只准用加密連線」:
- 打開 NAS 的 Web Station。
- 進入 「網頁服務入口」,選擇你的 WordPress 項目並點擊 「編輯」。
- 勾選 「HSTS」 (HTTP Strict Transport Security)。
- 儲存設定。
檢查成果
現在,請關閉手機的 Wi-Fi(切換到 5G/4G 外網),在瀏覽器輸入: https://xxx.synology.me/wordpress
- 看到網址列左側出現一個 「灰色小鎖頭」 嗎?
- 網頁載入是否正常,沒有排版崩壞或圖片消失?
恭喜!你已經成功架設了一個安全且可以從外網存取的 WordPress。
接下來,您是否想設定自動備份功能,以防萬一 NAS 硬碟發生故障或 WordPress 更新出錯?