首页 > 解决方案 > CNAME 到 AWS 服务 - 浏览器不接受证书

问题描述

我正在尝试直接从浏览器访问 AWS 服务——特别是 SNS 服务。我希望能够将消息直接发布到 sns 主题,但使用 CNAME 记录,以便我可以控制浏览器最终转到哪个区域 (sns.mydomain.com -> sns.us-east-1.amazonaws.com | sns.eu-west-1.amazonaws.com 取决于请求者地区)。

我的问题是,如果我向我的别名端点发出 HTTPS 请求,返回的证书将不会签署到我的端点,并且浏览器将拒绝使用它。虽然我可以通过只发出 HTTP 请求来解决这个问题,但浏览器会拒绝从安全来源(一个在 HTTPS 上提供服务的站点)发出 HTTP 请求。

是否可以按照我尝试的方式让 CNAME 指向 AWS 服务?

最终,我试图避免将浏览器中的客户端应用程序锁定到 aws 区域。

标签: amazon-web-servicesdnsamazon-snsamazon-route53

解决方案


是否可以按照我尝试的方式让 CNAME 指向 AWS 服务?

不。您遇到了 https 验证的核心功能,即证书的通用名称或 SAN(主题备用名称)必须与证书匹配。如果不是这样,HTTPS 就不会验证服务器是他们声称的那个人。

最终,我试图避免将浏览器中的客户端应用程序锁定到 aws 区域。

这是一个很好的目标。与其在 DNS 层这样做,为什么不创建一个端点或配置设置来提供一个或多个区域以供使用?智能客户端甚至可以在出现某些似乎是区域中断的故障的情况下遍历区域,这比在区域出现故障时您仍然必须修复的 CNAME 要好一些。


推荐阅读