【发布时间】:2020-09-17 11:06:12
【问题描述】:
自从我们根据https://developers.google.com/amp/cache/update-cache 进行初始配置以来,我们成功地使用/update-cache/c/s/ 端点进行缓存清除。直到昨天,当我们不小心删除了我们正在使用的公钥/私钥时......!
所以.. 显然问题在于 AMP 缓存的公共 RSA 密钥现在与我们当前的(新)公共 RSA 密钥不同。
(出于隐私原因,我在下面使用example.com。对此感到抱歉)
我们生成了一个新对,但缓存的 RSA 密钥没有重新验证,即使我们尝试通过重新验证它
curl -XGET https://www-example-com.cdn.ampproject.org/r/s/www.example.com/.well-known/amphtml/apikey.pub -v
详细信息
我们的新公钥是:
- 由网络服务器以
text/plain格式提供服务 - 可在
https://www.example.com/.well-known/amphtml/apikey.pub - 由 cdn 和服务器缓存(Cloudflare 和 nginx)配置为
BYPASSED。 - 允许(通过 robots.txt)被所有机器人抓取/索引
Allow: /.well-known/amphtml/apikey.pub
完整的 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=
网址格式:
- 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 缓存清除/更新: (由 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 密钥失效/重新缓存?
还是我在这里做错了什么?
谢谢!
【问题讨论】:
标签: amp-html