使用Route53 CNAME访问AWS WebSocket出现403错误求助
排查WebSocket CNAME连接403错误的思路与方案
检查API Gateway自定义域名配置
- 确认已为
qa-my-domain.com配置API Gateway自定义域名,并关联到正确的/qa阶段。若未绑定对应阶段,自定义域名请求会因路径不匹配返回403。 - 验证该自定义域名的ACM证书:证书需覆盖
qa-my-domain.com,且部署在us-west-2区域(与API Gateway同区域),证书无效或不匹配会引发权限类错误。
- 确认已为
验证Route 53的CNAME记录
- 确认CNAME目标为
blahblah.execute-api.us-west-2.amazonaws.com,无拼写错误或多余后缀。用nslookup qa-my-domain.com或dig qa-my-domain.com命令检查解析结果是否正确。 - 考虑DNS缓存问题,换网络环境或清除本地DNS缓存后重新测试连接。
- 确认CNAME目标为
检查API Gateway访问策略
- 查看API Gateway的资源策略,确认是否仅允许原AWS域名的请求。若策略限制了来源域名,需添加
qa-my-domain.com到允许列表。 - 检查API阶段的认证设置(如API密钥、IAM认证),确保自定义域名的请求能正确携带所需认证信息。
- 查看API Gateway的资源策略,确认是否仅允许原AWS域名的请求。若策略限制了来源域名,需添加
核对WebSocket连接路径与请求头
- 确认用CNAME连接时的地址为
wss://qa-my-domain.com/qa/,若遗漏/qa/路径,会访问无权限的默认路径导致403。 - 检查请求的
Host头是否为qa-my-domain.com,API Gateway需明确允许该Host值的请求。
- 确认用CNAME连接时的地址为
排查WAF或安全规则
- 若API Gateway关联了WAF,检查规则是否拦截了自定义域名的请求。可临时关闭WAF测试是否恢复正常,再针对性调整规则(如放行
qa-my-domain.com的Host头)。
- 若API Gateway关联了WAF,检查规则是否拦截了自定义域名的请求。可临时关闭WAF测试是否恢复正常,再针对性调整规则(如放行
内容的提问来源于stack exchange,提问作者user007
相关产品推荐
相关产品推荐

