使用CloudFrontUrlSigner签名备用域名URL时遇AccessDenied问题
签名域名参数未更新:签名代码中需明确使用备用域名
cdn.mycompany.com生成签名URL,签名逻辑与域名绑定,默认域名的签名无法复用在备用域名上,即使代码逻辑不变,域名参数未替换会直接导致验证失败。自定义域名未关联到受限访问的Behaviour:检查带Restricted View Access的Behaviour配置,确认其域名匹配规则已包含
cdn.mycompany.com。默认情况下,新增的备用域名可能未被纳入该行为的覆盖范围,导致请求触发了其他未启用签名验证的行为,进而返回AccessDenied。SSL证书与域名匹配问题:若备用域名使用自定义SSL证书,需确保证书已覆盖
cdn.mycompany.com,且CloudFront分发已正确关联该证书。同时确认签名URL的协议(HTTP/HTTPS)与CloudFront的Viewer Protocol Policy配置一致,协议不匹配也可能引发权限验证失败。Behaviour的密钥组关联异常:验证带Restricted View Access的Behaviour是否仍关联了正确的CloudFront密钥组。添加备用域名时若误修改了行为配置,导致签名使用的密钥对与CloudFront期望的密钥组不匹配,会直接触发权限拒绝。
签名URL路径与行为匹配规则不符:确认备用域名的请求路径是否符合该Behaviour的Path Pattern规则。若路径匹配到了其他未启用签名验证的行为,同样会返回AccessDenied错误。
内容的提问来源于stack exchange,提问作者Petar Tahchiev

