AppEngine移除Let's Encrypt SSL后持续收到ACME挑战请求怎么处理
解决方案
- 清理App Engine残留证书配置
进入Google Cloud控制台,定位到App Engine服务的「设置」-「SSL证书」页面,删除所有非当前在用的谷歌托管SSL证书之外的其他证书条目,包括过期、待验证、签发失败的Let's Encrypt证书,残留的证书条目会触发谷歌后台自动发起续订验证请求,也就是你收到的ACME挑战请求。 - 排查Firebase关联配置
日志中请求的UA为Google-Firebase,说明请求来自Firebase服务。如果你的域名曾绑定过Firebase Hosting,进入Firebase控制台对应项目的「Hosting」-「自定义域名」页面,删除残留的旧域名绑定、无效证书配置,避免Firebase后台自动发起证书验证请求。 - 配置静态路由拦截ACME请求避免计费
即使清理完配置后仍有短时间的残留请求,你可以在app.yaml中添加静态路由规则,让App Engine前端直接处理ACME挑战请求,不会转发到应用实例,避免产生实例CPU、请求计费。配置示例如下:
你只需在应用根目录新建一个空白的handlers: # 放在其他handler规则最前面 - url: /.well-known/acme-challenge/.* static_files: empty.txt upload: empty.txt http_headers: Status: 410 Goneempty.txt文件即可,410状态码会告知请求方该资源已永久删除,进一步减少后续重复请求。 - 确认DNS配置无残留
检查你的域名DNS解析记录,删除所有和旧Let's Encrypt验证相关的TXT记录,避免触发第三方ACME验证服务的重试请求。
内容的提问来源于stack exchange,提问作者user2773013
相关产品推荐
相关产品推荐

