咨询热线:15911225507
龙霄
登录
首页-所有文章-Nuxt.js繁体-正文

Nitro 服務端架構:安全代理層與效能引擎深度解析

龙霄龙霄
Nuxt.js繁体
1个月前
0
0
3.17K
這道隱形的「圍牆」將 WordPress 後端完全隔離在公網之外,同時透過多層快取、請求去重和智慧重試,為前端提供穩定、高效、安全的資料服務。

看不見的護盾:全量 API 代理

在傳統 Headless CMS 架構中,前端直接呼叫 WordPress REST API——這意味著你的後端位址暴露在每一個網站訪客的瀏覽器 Network 面板中。本專案的做法截然不同——Nitro 服務端接管了所有外部通訊:

代理端點用途特殊能力
/api/graphqlGraphQL 查詢/變更SHA-256 快取、請求去重、自動重試、認證透傳
/api/salong/v1/*自訂 Salong API通用代理透傳
/api/wp/v2/*WordPress REST API通用代理透傳

瀏覽器中只能看到 /api/graphql,永遠看不到 wp-adminwp-json

認證隔離:JWT 絕不觸碰前端

const token = getCookie(event, 'salong_auth_token')
headers['Authorization'] = `Bearer ${token}`

前端只知道「我已登入」,但 Token 對 JavaScript 完全不可見——即使網站被 XSS 攻擊,攻擊者也拿不到認證憑據。

GraphQL 快取引擎:三層防護

第一層:SHA-256 回應快取。 每個公開查詢的結果被 SHA-256 雜湊後存入 Nitro Storage,TTL 可設定(預設 120 秒)。

第二層:飛行中請求去重。 createInFlightRequestPool 將併發請求合併為一次上游呼叫。

第三層:LRU 快取預算控制。 超過 500 條或 32MB 時,按「最久未使用」原則自動淘汰。

請求韌性:自動重試與非關鍵降級

  • runWithRetry:關鍵請求遇到 429 自動重試,指數退避延遲
  • runNonCriticalAsync:非關鍵請求遇到 429 使用預設降級資料

錯誤安全:絕不洩露堆疊

export function normalizeApiError(err, fallbackMessage, fallbackStatusCode) {
    return createError({ statusCode, statusMessage: msg })
}

任何伺服器堆疊追蹤、WordPress 內部錯誤都不會洩露到前端。

Nitro 建置最佳化

nitro: {
    minify: true,
    compressPublicAssets: { gzip: true, brotli: true },
    routeRules: {
        '/_nuxt/**': { isr: 600, headers: { 'Cache-Control': 'max-age=31536000, immutable' } }
    }
}

總結

三道防線保護 WordPress 後端:訪問隔離、認證隔離、資訊隔離。同時透過 SHA-256 快取、飛行中去重、LRU 預算控制和智慧重試,將 WordPress 負載降到最低。

标签:
本文原创,作者:龙霄,其版权均为龙霄所有。如需转载,请注明出处:https://lx.yfdxs.com/1415.html
龙霄

龙霄

Lv1Vip2Rec2
以 Nuxt.js 之力,焕新 WordPress 体验
127.53W1213.98W1W
加载中…
分享:
1
Nitro 服务端架构:安全代理层与性能引擎深度解析
Nitro 服务端架构:安全代理层与性能引擎深度解析上一篇
龙霄主题四个小怪兽守护的登录:趣味交互动效设计深度解析下一篇
龙霄主题四个小怪兽守护的登录:趣味交互动效设计深度解析
相关文章
总数:0
龙霄
没有相关内容
评论表单游客 您好,欢迎参与讨论。
加载中…
评论列表
总数:0
龙霄
没有相关内容