محتوای AMP را به روز کنید

از درخواست update-cache برای به‌روزرسانی و حذف محتوا از حافظه پنهان Google AMP استفاده کنید. در حال حاضر، update-cache تنها تضمین می‌کند که محتوا در حداکثر سن خود به‌روزرسانی می‌شود، به این معنی که حداکثر زمانی که یک منبع تازه در نظر گرفته می‌شود.

درخواست update-cache از مالک دامنه می‌خواهد که درخواست‌ها را با یک کلید RSA امضا کند و کلید عمومی منطبق را از یک URL استاندارد در دامنه مبدا ارائه دهد.

می‌توانید با ارسال یک درخواست امضا شده به حافظه پنهان AMP، هر نسخه‌ای از یک سند را که در حال حاضر در حافظه پنهان ذخیره شده است، شستشو دهید. درخواست update-cache در این آدرس فراخوانی می شود:

https://example-com.<cache.updateCacheApiDomainSuffix>/update-cache/c/s/example.com/article?amp_action=flush&amp_ts=<ts_val>&amp_url_signature=<sig_val>

مولفه های

درخواست update-cache به پارامترها و مقادیر زیر نیاز دارد:

مولفه های
example-com و example.com

ضروری

نام دامنه مشخص شده با توجه به فرمت های مورد استفاده در فرمت URL حافظه پنهان AMP .
<cache.updateCacheApiDomainSuffix>

ضروری

نام دامنه AMP Cache. برای اطلاعات بیشتر به تماس با درخواست به update-cache مراجعه کنید.
amp_ts=<ts_val>

ضروری

این پارامتر نشان دهنده یک مهر زمانی دوره یونیکس است که برای جلوگیری از حملات تکراری استفاده می شود. مقدار باید زمان فعلی بر حسب ثانیه باشد، که باید 1 دقیقه قبل یا بعد از زمان فعلی باشد.
amp_url_signature=<sig_val>

ضروری

این پارامتر امضای RSA کل مسیر درخواست را نشان می‌دهد (به ایجاد کلید RSA مراجعه کنید)، از جمله amp_action و amp_ts ، اما به استثنای خود امضا.

رهنمودها

شما باید دستورالعمل های update-cache را دنبال کنید:

  • نام میزبان حافظه پنهان AMP (cdn.ampproject.org) از امضا حذف شده است تا امکان ارسال همان درخواست امضا شده به چندین اپراتور AMP Cache فراهم شود.
  • برای تأیید امضا، باید کلید عمومی RSA را در یک مکان ثابت در دامنه سند AMP ارائه کنید (برای تولید کلید، به ایجاد کلید RSA مراجعه کنید). به عنوان مثال:
    https://example.com/.well-known/amphtml/apikey.pub
  • کلید عمومی نباید ربات شود.
  • URL باید HTTPS باشد.
  • دامنه باید دقیقاً همان دامنه ای باشد که می خواهید به روز کنید، نه یک دامنه فرعی یا فوق العاده.
  • شما باید کلید را در قالب PEM منتشر کنید و کلید را با نوع محتوا "text/plain" ارائه دهید.
  • AMP Cache همیشه کلید عمومی را از همان دامنه درخواست واکشی می کند، صرف نظر از دامنه مشخص شده توسط سند از طریق هر تگ rel=canonical . اگر دامنه مبدا یک تغییر مسیر HTTP را در مکانی که باید فلاش شود ارائه دهد، فقط مسیر درخواستی از حافظه پنهان پاک می شود و نه هدف تغییر مسیر.

به روز رسانی یا حذف محتوا

می‌توانید از update-cache برای به‌روزرسانی یا حذف دائمی محتوا از Google AMP Cache پس از حذف محتوا از مبدا استفاده کنید. برای به روز رسانی یا حذف محتوا، مراحل زیر را دنبال کنید:

  1. فایل زیر را واکشی کنید:
    https://cdn.ampproject.org/caches.json
  2. از طریق ورودی های ورودی های caches در فایل JSON تکرار کنید.
  3. caches هایی را که می خواهید پشتیبانی کنید انتخاب کنید.
  4. درخواست update-cache را با استفاده از updateCacheApiDomainSuffix از هر ورودی cache فراخوانی کنید.
  5. URL ها را با استفاده از فرمت زیر بسازید:
    https://example-com.<cache.updateCacheApiDomainSuffix>/update-cache/c/s/example.com/article?amp_action=flush&amp_ts=<ts_val>&amp_url_signature=<sig_val>

کلید RSA را تولید کنید

پروژه OpenSSL ابزارهای خط فرمان را برای تولید و مدیریت کلیدهای RSA نامتقارن فراهم می کند. شما همچنین می توانید کلیدهای RSA را تولید کرده و آنها را به صورت برنامه ریزی شده از طریق کتابخانه OpenSSL یا یک API رمزنگاری معادل (node-crypto، NSS، یا GnuTLS) مدیریت کنید.

  1. یک جفت کلید RSA در قالب PEM متنی مانند این ایجاد کنید:
    openssl genrsa 2048 > private-key.pem
    openssl rsa -in private-key.pem -pubout >public-key.pem
  2. کلید عمومی را در دامنه ارسال کنید تا در مکان زیر به روز شود:
    https://example.com/.well-known/amphtml/apikey.pub

    URL باید HTTPS باشد. کلید باید توسط یک کاربر ناشناس در دسترس عموم باشد.

  3. از کلید خصوصی برای امضای درخواست به update-cache کنید. به عنوان مثال:
    echo -n > url.txt "/update-cache/c/s/example.com/article?amp_action=flush&amp_ts=$(date +%s)" && cat url.txt | openssl dgst -sha256 -sign private-key.pem > signature.bin

    خروجی signature.bin یک امضای باینری RSA است.

  4. از کلید عمومی برای تأیید امضا استفاده کنید:
    openssl dgst -sha256 -signature signature.bin -verify public-key.pem url.txt
  5. امضای RSA باینری را با استفاده از نوع وب ایمن base64 رمزگذاری کنید:
    cat signature.bin | base64 -w0 | tr '/+' '_-' | tr -d '=' > base64.txt
  6. با استفاده از پارامتر پرس و جو amp_url_signature ، امضای RSA رمزگذاری شده با base64 را به URL اضافه کنید.
    echo "$(cat url.txt)&amp_url_signature=$(cat base64.txt)"

کلید RSA را به روز کنید

اگر می‌خواهید کلید RSA خود را به‌روزرسانی کنید، می‌توانید از طریق پیوند حافظه پنهان AMP به کلید RSA دسترسی پیدا کنید و Google ممکن است در عرض چند ساعت کلید RSA جدید شما را بخزد. این لینک AMP Cache است:

https://example-com.<cache.updateCacheApiDomainSuffix>/r/s/example.com/.well-known/amphtml/apikey.pub