AMP 缓存 Public RSA 密钥失效问题
AMP Cache Public RSA Key invalidation problem
自从我们根据 https://developers.google.com/amp/cache/update-cache
进行初始配置后,我们成功使用 /update-cache/c/s/
端点进行缓存清除。直到昨天,当我们不小心删除了我们正在使用的 public/private 键时..!
所以..显然问题是 AMP 缓存 Public RSA 密钥现在不同于我们当前的(新)public rsa 密钥。
(出于隐私原因,我在下方使用 example.com
。对此深表歉意)
我们生成了一对新的但缓存的 RSA 密钥没有重新生效,即使我们试图通过
重新生效
curl -XGET https://www-example-com.cdn.ampproject.org/r/s/www.example.com/.well-known/amphtml/apikey.pub -v
详细信息
我们的新 public 密钥是:
- 由网络服务器以 [=19=] 格式提供
- 可在
https://www.example.com/.well-known/amphtml/apikey.pub
- 被 cdn 和服务器缓存(Cloudflare 和 nginx)配置为
BYPASSED
。
- 所有机器人
Allow: /.well-known/amphtml/apikey.pub
允许(通过 robots.txt)crawled/indexed
已满 robots.txt:
User-agent: *
Disallow: /wp-admin/
Disallow: /trackback/
Disallow: /xmlrpc.php
Disallow: /feed/
Disallow: /wp-login.php
Disallow: /?s=
Disallow: /search/
Allow: /.well-known/amphtml/apikey.pub
User-agent: Googlebot
Disallow: /*?*smid=
Disallow: /*?*partner=
Disallow: /*?*utm_source=
URL 格式:
- AMP 缓存检查:
https://www-example-com.cdn.ampproject.org/c/s/www.example.com/article-slug/amp/
- AMP RSA 密钥重新验证:
https://www-example-com.cdn.ampproject.org/r/s/www.example.com/.well-known/amphtml/apikey.pub
- AMP 缓存 Purge/Update:
(由 AMP 缓存更新 URL 生成器 https://github.com/enteresanlikk/amp-cache-update 自动生成)
https://www-example-com.cdn.ampproject.org/update-cache/c/s/www.example.com/article-slug/amp/?amp_action=flush&_ts=<timestamp>&_url_signature=<signature>
由于两个 RSA 密钥不同,我们现在收到 403 URL 签名验证错误。
密钥更改后已经过去了 24 小时..
有什么办法可以将旧的缓存 RSA 密钥强制为 invalidate/re-cache ?
还是我做错了什么?
谢谢!
已修复。毕竟这不是问题……只是需要再等一会儿。
RSA 密钥已更新,之后 AMP 缓存已正常清除!
我描述的一切都是正确的。留下它作为其他人的指南。
谢谢
自从我们根据 https://developers.google.com/amp/cache/update-cache
进行初始配置后,我们成功使用 /update-cache/c/s/
端点进行缓存清除。直到昨天,当我们不小心删除了我们正在使用的 public/private 键时..!
所以..显然问题是 AMP 缓存 Public RSA 密钥现在不同于我们当前的(新)public rsa 密钥。
(出于隐私原因,我在下方使用 example.com
。对此深表歉意)
我们生成了一对新的但缓存的 RSA 密钥没有重新生效,即使我们试图通过
重新生效curl -XGET https://www-example-com.cdn.ampproject.org/r/s/www.example.com/.well-known/amphtml/apikey.pub -v
详细信息
我们的新 public 密钥是:
- 由网络服务器以 [=19=] 格式提供
- 可在
https://www.example.com/.well-known/amphtml/apikey.pub
- 被 cdn 和服务器缓存(Cloudflare 和 nginx)配置为
BYPASSED
。 - 所有机器人
Allow: /.well-known/amphtml/apikey.pub
允许(通过 robots.txt)crawled/indexed
已满 robots.txt:
User-agent: *
Disallow: /wp-admin/
Disallow: /trackback/
Disallow: /xmlrpc.php
Disallow: /feed/
Disallow: /wp-login.php
Disallow: /?s=
Disallow: /search/
Allow: /.well-known/amphtml/apikey.pub
User-agent: Googlebot
Disallow: /*?*smid=
Disallow: /*?*partner=
Disallow: /*?*utm_source=
URL 格式:
- AMP 缓存检查:
https://www-example-com.cdn.ampproject.org/c/s/www.example.com/article-slug/amp/
- AMP RSA 密钥重新验证:
https://www-example-com.cdn.ampproject.org/r/s/www.example.com/.well-known/amphtml/apikey.pub
- AMP 缓存 Purge/Update: (由 AMP 缓存更新 URL 生成器 https://github.com/enteresanlikk/amp-cache-update 自动生成)
https://www-example-com.cdn.ampproject.org/update-cache/c/s/www.example.com/article-slug/amp/?amp_action=flush&_ts=<timestamp>&_url_signature=<signature>
由于两个 RSA 密钥不同,我们现在收到 403 URL 签名验证错误。
密钥更改后已经过去了 24 小时.. 有什么办法可以将旧的缓存 RSA 密钥强制为 invalidate/re-cache ?
还是我做错了什么?
谢谢!
已修复。毕竟这不是问题……只是需要再等一会儿。 RSA 密钥已更新,之后 AMP 缓存已正常清除!
我描述的一切都是正确的。留下它作为其他人的指南。
谢谢