Google App Engine证书上传报错:非域名授权所有者问题排查求助
我来帮你梳理下几个可能的排查点,毕竟你一直用相同流程操作却突然出问题,大概率不是转换步骤的锅,而是域名验证、证书本身或项目权限相关的环节出了状况:
检查域名所有权验证状态
Google的域名验证是有有效期的(通常1年),如果刚好你的验证过期了,就会触发这个报错。登录Google Cloud Console,找到「Security > SSL certificates」或者直接进入「Domain verification」页面,查看对应域名的验证状态是否为有效。另外也要确认域名的DNS记录有没有被误改——比如之前用来验证的TXT/CNAME记录被删除或修改,这会导致Google无法确认你是域名所有者。确认证书的域名匹配度
有没有可能这次的证书是重新申请的,而证书里的域名和你要绑定的GAE域名不一致?比如证书只包含www.yourdomain.com但你要绑定的是裸域yourdomain.com,或者有拼写错误。你可以用这条命令查看证书的域名信息:openssl x509 -in domain.pem -text -noout重点看「Subject Alternative Name」字段,确认里面包含你要使用的所有目标域名。
检查证书信任链完整性
部分CA颁发的证书需要上传完整的信任链(服务器证书+中间证书),如果这次你只上传了服务器证书,可能会导致Google验证异常,间接触发所有者报错。尝试把中间证书内容追加到domain.pem的末尾(注意顺序:服务器证书在前,中间证书在后),然后再重新上传试试。验证项目账号权限
有没有可能你的Google Cloud账号权限被变更了?比如之前是项目所有者,现在被调整为编辑者,而上传SSL证书需要roles/compute.securityAdmin这类特定权限。进入IAM页面,检查你的账号是否还拥有管理SSL证书的相关权限。确认私钥与证书的匹配性
虽然你用了之前的转换命令,但难保这次的私钥和证书不匹配。用下面两条命令分别生成证书和私钥的哈希值,对比是否一致:openssl x509 -noout -modulus -in domain.pem | openssl md5 openssl rsa -noout -modulus -in private.pem | openssl md5如果输出的哈希值不一样,说明私钥和证书不匹配,需要重新用正确的私钥生成证书或转换文件。
内容的提问来源于stack exchange,提问作者bryan

