瀏覽單個文章
cp03
Advance Member
 

加入日期: Sep 2015
文章: 337
我讓我家 cursor 自己連線分析.

PCDVD 502 Bad Gateway 連線診斷報告(非官方實測)+ 站方可執行解法

實測時間:2026-10-16
目標站台:pcdvd.com.tw
探測方式:從 Cloudflare 邊緣連續請求 showthread / 首頁,並做並行突發測試
附圖:圖1=診斷詳細版|圖2=站方可執行方案

[hr]
ま、先講結論(給不想看數據的人)

問題不在你的瀏覽器,也不在 Cloudflare 本身壞掉。
問題在 PCDVD 源站(Host)不穩/過載。

Cloudflare 圖示解讀:
Browser(你)✓ → Cloudflare(CDN邊緣)✓ → Host(pcdvd.com.tw 源站)✗ → 回 502 Bad Gateway

為什麼要多開幾次才看得到?
論壇動態頁幾乎沒被 CDN 快取(cf-cache-status: DYNAMIC),每次都打到源站。
源站處於臨界狀態,大約 1/4 請求會失敗;你多刷新幾次,等於在抽樣,抽到成功窗口就能進。

根治方向:
加強邊緣防護 → 擋爬蟲/假流量 → 提升源站容量並減輕負擔
(會員端只能多刷新/離峰再看;真正要改的是站方設定與主機)

[hr]
一、故障落點怎麼判斷的

1. DNS 只解析到 Cloudflare IP,代表流量一定先經過 CF。
2. 成功頁面常見 cf-cache-status: DYNAMIC:動態論壇頁幾乎不走快取,沒有「邊緣備援頁」可看。
3. Cloudflare 錯誤頁明確標示:Browser Working、Cloudflare Working、Host Error。
4. 因此 502 的意義是:「CF 連得到你,但源站回不來/超時/拒連」。

(見附圖 1:故障落點三格)

[hr]
二、本次實測數據

A. showthread.php 連續 20 次
  • 200 OK:15/20=75%
  • 502:5/20=25%

B. 首頁 10 次
  • 9 成功 / 1 個 502

C. 並行突發 15 連線
  • 立刻出現 5 個 502
  • 成功者也多要約 7 秒才回來

解讀
間歇失敗 + 成功時極慢 + 併發更糟
→ 符合「源站容量不足/被流量打滿」
→ 不符合「單純你電腦壞掉」或「Cloudflare 全面掛掉」

[hr]
三、延遲特徵(為什麼能定位到源站)

成功時(200)
  • TTFB 約 1∼14 秒(正常網站通常遠低於此)
  • HTML 可完整取回(約 70KB 等級)
  • 代表:源站「有時扛得住,但很吃力」

失敗時(502)
  • 約 0.25∼0.4 秒 就回
  • body 常只有 error code: 502
  • 代表:Cloudflare 很快宣告源站失敗(拒連/超時/無回應)

這組對比很關鍵:
不是「整條網路都慢」,而是「源站有時慢、有時直接掛」。

[hr]
四、為什麼 2026 大家特別有感?

結合論壇討論與本次實測,較合理的拼圖是:
  • 站在 Cloudflare 後面,但動態頁幾乎不快取
  • 老舊 vBulletin 對高併發本來就弱
  • 「在線人數」常上看起來上萬,但真人活躍可能很少
  • Bot/AI 爬蟲/假訪客會把 PHP+DB 打滿
  • 源站一到臨界,就開始大面積 502;你多 F5 才偶發進去

所以這不是「日曆進到 2026 就壞」的年份 bug,
而是 老論壇架構 + 源站容量 + 假流量/爬蟲壓力 在今年被放大。

[hr]
五、責任歸屬簡表
  • 你的網路/瀏覽器:不太像(連線能到 CF,失敗回應也來自 CF)
  • Cloudflare 整片故障:不太像(邊緣回應快,成功時也能正常轉發)
  • 源站過載/worker 不足:非常像(25% 502 + 成功 TTFB 很慢 + 併發立即惡化)
  • Bot/爬蟲放大問題:很像(社群觀察假高在線;動態頁無快取最怕被刷)

[hr]
六、站方可執行解法(務實、先低成本)

前提:站在 Cloudflare 後、論壇偏老、預算可能有限
→ 先做 免費/低成本、高報酬,再談砸錢升級。

A. 加強防護(Cloudflare)
  • Security Level 先調 High;必要時短暫開 Under Attack Mode
  • 開啟 Bot Fight Mode(免費)/Super Bot Fight Mode(視方案)
  • WAF 自訂規則:對 forumdisplay / showthread / search 等動態路徑,
    對低 Bot Score/已知壞爬蟲做 Managed Challenge 或 Block
  • 有 Rate Limiting 就做:同 IP 短時間大量請求 → Challenge
  • 限制訪客狂刷搜尋/列表;登入後再給較高額度
效果:把機器流量擋在邊緣,不要每個爬蟲請求都打進源站 PHP。

B. 擋爬蟲(聲明 + 真擋一起做)
  • robots.txt:Disallow 論壇動態路徑;並點名常見 AI 爬蟲
    (GPTBot、ClaudeBot、Google-Extended、Bytespider 等)Disallow: /
  • 注意:robots.txt 只擋守規矩的;流氓爬蟲仍靠 Cloudflare Challenge
  • 用 Bot 分數/ASN/行為封鎖,不要只靠 User-Agent 字串
  • 可評估 Anubis 等「瀏覽器證明」中介層,擋簡單腳本
  • 管理後台、會員中心、搜尋加強驗證與頻率限制
效果:降低「在線訪客上萬但幾乎沒真人」的假流量壓力。

C. 提升主機容量/減輕源站負擔
  • 先量再調:同時連線、PHP-FPM/Apache worker、CPU、RAM、磁碟 IO、MySQL 慢查詢
  • 合理提高 MaxRequestWorkers/pm.max_children(必須配合記憶體,勿盲加)
  • DB:常見列表/文章查詢加索引,避免全表掃描;必要時加查詢快取
  • 應用層:首頁/熱門列表做短 TTL 快取,減少每次完整 PHP+SQL
  • 若仍是家用機+小上傳:升級 VPS/專線通常比一直重開有效
  • 中長期:vBulletin 3.x 規劃升級或遷移;老論壇在 AI 爬蟲時代很吃虧
效果:就算還有流量,源站比較扛得住;502 下降,成功時也不該再等十秒。

D. 建議執行順序
  • 第 1 天:開 Bot Fight/調高 Security Level;必要時短暫 Under Attack
  • 第 1 週:補 robots.txt + WAF;觀察 502 比例與真實在線人數
  • 第 2∼4 週:調 worker/DB/熱門頁快取;硬體見底再談升級主機
  • 持續:用狀態監控/告警看恢復是否變快、502 是否減少

(見附圖 2:站方可執行方案)

[hr]
七、一般會員現在能做什麼
  • 多刷新幾次/換時段再進
  • 尖峰時段降低同時開很多分頁
  • 可關注非官方狀態告警(若有人維護)
  • 把本報告轉給站方/願意幫忙的人,比只回「又 502 了」更有用

以上為非官方實測與建議,僅供討論參考;最終仍以站方實際環境與決策為準。
 
舊 2026-10-17, 01:48 AM #22
回應時引用此文章
cp03離線中