<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Strapi on Peter.H's Full-Stack GAME</title><link>https://peter-notes.com/tags/strapi/</link><description>Recent content in Strapi on Peter.H's Full-Stack GAME</description><image><title>Peter.H's Full-Stack GAME</title><url>https://peter-notes.com/images/og-image.jpg</url><link>https://peter-notes.com/images/og-image.jpg</link></image><generator>Hugo</generator><language>zh-tw</language><lastBuildDate>Fri, 24 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://peter-notes.com/tags/strapi/index.xml" rel="self" type="application/rss+xml"/><item><title>ORM 在騙你：當 populate / include 悄悄失效</title><link>https://peter-notes.com/posts/orm-silent-populate-failure/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/orm-silent-populate-failure/</guid><description>一個 CMS 文件的「上傳者」欄位永遠空白引出的除錯故事：當 ORM 的 populate / include 在特定條件組合下靜默失敗，HTTP 200 OK、其他欄位都對，唯獨關聯變成 null。介紹這類跨 ORM 的通病怎麼診斷、怎麼繞過、怎麼從架構分層理解為什麼只有這一層會騙人。</description></item><item><title>Strapi v5's Silent populate Failure with Relation Filters</title><link>https://peter-notes.com/posts/strapi-v5-populate-silent-failure-with-relation-filters/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/strapi-v5-populate-silent-failure-with-relation-filters/</guid><description>A reproducible Strapi v5 bug: combining filters[relation][id][$eq] with populate[relation]=true silently returns null for the populated field — no error, no warning, just missing data. This post walks through the symptom, a curl reproduction, why it happens at the ORM layer, and a knex-based custom find controller that fixes it.</description></item><item><title>Strapi 忘記密碼的安靜回應：Anti-Enumeration、Phishing-as-a-Service 與撞庫經濟學</title><link>https://peter-notes.com/posts/strapi-forgot-password-anti-enumeration/</link><pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/strapi-forgot-password-anti-enumeration/</guid><description>從一次 kubectl 排查出發，解析為何 Strapi 忘記密碼 API 對不存在的 email 仍回 200，並深入釣魚工具（Gophish、Evilginx2）與撞庫工具（OpenBullet）的運作與經濟模型，說明 App 文案為何必須配合後端的 anti-enumeration 設計。</description></item><item><title>頭貼切不回去？一個 Bug 揪出 Admin Panel 權限漂移的跨後端通病</title><link>https://peter-notes.com/posts/admin-panel-permission-drift-cms-backends/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/admin-panel-permission-drift-cms-backends/</guid><description>從一個 Flutter 切不回手機頭貼的 bug 出發，揭開 Strapi Admin Panel 權限漂移這個跨後端的共通陷阱。深入分析雙層根因、衍生的 null validation bug，以及為什麼 Firebase、Supabase、Hasura、AWS IAM 都逃不過這個問題。</description></item><item><title>升級 Strapi v5.31+ 後 JWT 過期就被登出？問題藏在你沒注意到的內建路由裡</title><link>https://peter-notes.com/posts/strapi-v5-auth-refresh-route-pitfall/</link><pubDate>Fri, 06 Feb 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/strapi-v5-auth-refresh-route-pitfall/</guid><description>深入剖析 Strapi v5.31+ 將 /auth/refresh 改為內建路由後，導致 JWT 過期呼叫 refresh 回傳 403 的根因與修復方式。一個版本升級隱含的行為變更，如何讓除錯方向完全走偏。</description></item><item><title>AWS S3 Upload Failed: The Bucket Does Not Allow ACLs</title><link>https://peter-notes.com/posts/aws-s3-acl-upload-error/</link><pubDate>Fri, 30 Jan 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/aws-s3-acl-upload-error/</guid><description>深入探討 AWS S3 bucket 在 2023 年後預設禁用 ACL 導致 Strapi 上傳圖片失敗的問題，包含完整的除錯過程與解決方案</description></item><item><title>Strapi Plugin 覆寫陷阱：為什麼你的 Override 沒有生效？</title><link>https://peter-notes.com/posts/strapi-plugin-factory-wrapper/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/strapi-plugin-factory-wrapper/</guid><description>深入解析 Strapi v5 plugin 架構中的 factory function 陷阱，以及如何使用 Factory Wrapper 模式正確覆寫 users-permissions plugin 的 service 和 controller</description></item><item><title>AWS 跨區域遷移後的技術債清理：Strapi URL 的隱藏陷阱</title><link>https://peter-notes.com/posts/aws-s3-cleanup-pitfall/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/aws-s3-cleanup-pitfall/</guid><description>接手專案後發現 AWS 遷移不完整，每月多燒 $90。清理過程中發現 Strapi 的 URL 儲存機制比想像中複雜，記錄完整的排查與修復過程。</description></item><item><title>Flutter App 首頁 Banner 消失之謎：一場無效 API Token 的偵探之旅</title><link>https://peter-notes.com/posts/flutter-banner-401-invalid-token-debugging/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/flutter-banner-401-invalid-token-debugging/</guid><description>深入剖析 Flutter App 首頁 Banner 無法顯示的問題，從 git commit 追蹤到 GraphQL 認證機制，揭開「帶無效憑證比不帶憑證更糟糕」的技術真相</description></item><item><title>為什麼技術選型 CMS 我要選 Strapi？2024 年中的預算與系統分析決策</title><link>https://peter-notes.com/posts/why-choose-strapi-cms-2024/</link><pubDate>Tue, 23 Dec 2025 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/why-choose-strapi-cms-2024/</guid><description>深入分析 2024 年 6 月為公司進行 CMS 技術選型的決策過程，從 Headless CMS 架構、自動化 API 生成、到實際人力成本節省的完整考量</description></item><item><title>會員資料不見？這不是我沒要求，是外包商沒做完整的 OAuth 2.0</title><link>https://peter-notes.com/posts/oauth-refresh-token-outsourcing-lessons/</link><pubDate>Sat, 06 Dec 2025 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/oauth-refresh-token-outsourcing-lessons/</guid><description>從會員反映資料消失，到發現是 Token 過期問題，再到翻出合約證明外包商沒做完整的 OAuth 2.0。一個技術問題背後，揭露的是外包驗收與合約管理的重要教訓。</description></item><item><title>一次錯誤部署引發的 PostgreSQL Sequence 災難：為什麼使用者突然無法解鎖動畫？</title><link>https://peter-notes.com/posts/postgresql-sequence-disaster/</link><pubDate>Sun, 09 Nov 2025 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/postgresql-sequence-disaster/</guid><description>記錄一次生產環境中因錯誤部署導致的 PostgreSQL Sequence 不同步問題，包含完整的問題分析、修復過程和預防措施</description></item><item><title>解決 CKEditor 圖片水平排版在前端顯示為垂直排列的問題</title><link>https://peter-notes.com/posts/ckeditor-image-alignment-fix/</link><pubDate>Fri, 01 Aug 2025 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/ckeditor-image-alignment-fix/</guid><description>深入探討 Strapi CKEditor 5 與前端整合時的圖片排版問題，從 CSS 浮動原理到響應式設計，提供完整的問題分析與解決方案</description></item><item><title>前端登入失敗的真兇：深入理解 CORS 問題與實戰解法</title><link>https://peter-notes.com/posts/frontend-login-cors-issues/</link><pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/frontend-login-cors-issues/</guid><description>從同源政策到 CORS 預檢請求，深入理解跨來源資源共用的運作原理，並提供 Strapi、Express、Nginx 等實戰設定範例與完整排查流程</description></item><item><title>整合 Google 登入至 Strapi：在 Kubernetes 上解決「Secure Cookie over Unencrypted Connection」的實戰紀錄</title><link>https://peter-notes.com/posts/strapi-google-auth-k8s-secure-cookie/</link><pubDate>Fri, 16 May 2025 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/strapi-google-auth-k8s-secure-cookie/</guid><description>深度解析如何在 Kubernetes 上整合 Google OAuth 到 Strapi CMS，詳細說明 Secure Cookie 錯誤的根本原因、Ingress 代理設定、以及完整的生產環境部署方案</description></item><item><title>解決 Strapi CMS 正式環境空白頁的踩坑經驗分享</title><link>https://peter-notes.com/posts/strapi-cms-blank-page-production/</link><pubDate>Wed, 07 May 2025 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/strapi-cms-blank-page-production/</guid><description>深入探討 Strapi CMS 部署到正式環境後出現空白頁的問題，從 CSP (Content Security Policy) 原理到實戰解決方案，包含完整的排查流程與安全配置最佳實踐</description></item><item><title>解決 Kubernetes 多餘 Pod 問題與 CrashLoopBackOff 的實戰心得</title><link>https://peter-notes.com/posts/k8s-crashloopbackoff-troubleshooting/</link><pubDate>Tue, 06 May 2025 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/k8s-crashloopbackoff-troubleshooting/</guid><description>深入探討 Kubernetes 部署時出現多餘 Pod 和 CrashLoopBackOff 的原因、排查過程與解決方案，包含 Deployment、ReplicaSet 運作機制和實用的 kubectl 指令技巧</description></item><item><title>Strapi 5</title><link>https://peter-notes.com/posts/strapi-5-intro/</link><pubDate>Wed, 15 Jan 2025 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/strapi-5-intro/</guid><description>Strapi 5 初探：深入研究 Admin Panel 客製化 UI 與 Components 的可能性，分享官方 Design System 資源與樣式覆蓋策略。</description></item><item><title>Strapi 自訂搜尋功能：讓 Admin 面板支援多欄位搜尋</title><link>https://peter-notes.com/posts/strapi-custom-search/</link><pubDate>Sun, 27 Oct 2024 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/strapi-custom-search/</guid><description>在 Strapi v5 中實作自訂搜尋邏輯，讓 Admin 面板支援跨關聯的多欄位搜尋，解決只能搜尋單一欄位的限制</description></item><item><title>全端專案 AWS EKS 雲端架構深度解析</title><link>https://peter-notes.com/posts/aws-eks-healthcare-platform-architecture/</link><pubDate>Wed, 05 Jun 2024 00:00:00 +0000</pubDate><guid>https://peter-notes.com/posts/aws-eks-healthcare-platform-architecture/</guid><description>深入探討全端專案在 AWS 上的完整雲端架構設計，包括 EKS 叢集配置、微服務部署、Jenkins CI/CD、第三方整合及高可用性設計</description></item></channel></rss>