در پایان این راهنما یک درخواست Purge با API نسخه ۲.۱ برای hostname و مسیرهای مشخص ثبت کرده‌ایم تا در درخواست بعدی، محتوای جدید از آپ‌استریم دریافت شود.

برای پاک‌سازی از پنل، پاکسازی کش دامنه (Purge) را دنبال می‌کنیم. برای شکل مسیر، سقف‌ها و جدول فیلدها، مرجع تنظیمات Purge را مطالعه می‌کنیم. برای رفتار غیرفعال، پاکسازی کش (Purge) چگونه کار می‌کند؟ را مطالعه می‌کنیم.

API قدیمی منسوخ است

آدرس https://purge.edge.sotoon.ir منسوخ شده و به‌زودی حذف می‌شود. اسکریپت‌ها باید به API نسخه ۲.۱ مهاجرت کنند. Purge از پنل اوشن تغییری نمی‌کند.


پیش‌نیازها

  • دامنه یا زیردامنه پشت CDN ستون — آموزش‌ها
  • توکن Bearer با نقش cdn-purger
  • شناسه‌ی فضای کاری (workspaceUUID) از فضاهای کاری
  • فهرست مسیرهای مطلق یا پیشوندی (* فقط در انتهای مسیر)

مراحل

  1. توکن و workspaceUUID را آماده می‌کنیم.
  2. بدنه‌ی JSON را با hostname، در صورت نیاز subdomains، و حداقل یک مسیر در paths می‌سازیم. نام یکتا در metadata.name می‌گذاریم.
  3. درخواست POST را به آدرس زیر می‌فرستیم:
https://api.sotoon.ir/delivery/v2.1/global/workspaces/<workspaceUUID>/purges

با هدرهای:

Authorization: Bearer <TOKEN>
Content-Type: application/json
  1. برای دامنه domain.ir که www.domain.ir هم از همان CDN سرو می‌شود، نمونه به این شکل است:
curl -X POST \
  "https://api.sotoon.ir/delivery/v2.1/global/workspaces/<workspaceUUID>/purges" \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "apiVersion": "delivery/v2.1",
    "kind": "Purge",
    "metadata": {
      "name": "purge-scripts"
    },
    "spec": {
      "hostname": "domain.ir",
      "subdomains": ["www"],
      "paths": ["/scripts/*", "/data/image.png"]
    }
  }'

در این نمونه Purge برای domain.ir و www.domain.ir ثبت می‌شود؛ مسیرهای زیر /scripts/ و فایل /data/image.png هدف قرار می‌گیرند. خود hostname را دوباره در subdomains نمی‌آوریم.

قرارداد فیلدها

معنی و الزامی بودن هر فیلد را در مرجع تنظیمات Purge مطالعه می‌کنیم. مرجع OpenAPI: CDN and DNS (v2.1).


بررسی صحت

  1. پس از ارسال درخواست، چند دقیقه صبر می‌کنیم تا به لبه‌ها برسد.
  2. درخواست تست به همان مسیر می‌فرستیم و هدر و محتوا را بررسی می‌کنیم:
curl -i https://example.com/path/to/content --resolve example.com:443:185.166.104.3

ممکن است در x-zrk-cs مقدار MISS دیده شود. اگر HIT باشد، ممکن است درخواست دیگری کش را دوباره پر کرده باشد؛ محتوای پاسخ را نیز بررسی می‌کنیم.

  1. در صورت نیاز، مستقیم از آپ‌استریم می‌گیریم:
curl -i https://example.com/path/to/content --resolve example.com:443:UPSTREAM_IP

example.com، مسیر و IPها را با مقادیر واقعی جایگزین می‌کنیم.


ادامه مسیر