我正在尝试为us-east-1 s3 bucket创建一个cname,类似于以下内容:
media.domain.com => media.domain.com.s3.amazonaws.com
字符串
我按照这里的指南创建了一个具有符合dns名称的存储桶。
然而,不是像media.domain.com.s3.amazonaws.com这样的URL,而是下面的URL,由于斜杠的原因,我不能用于cname重定向:
https://s3.amazonaws.com/media.domain.com/
型
我在这里查看了s3路径弃用计划,我假设us-east-1将得到this first
但是,当我尝试通过推荐的路径here访问域时
SSL中断
我尝试了以下方法:
- 第一个月
media.domain.com.s3-us-east-1.amazonaws.com (notice the dash between s3 and us)
个media.domain.com.s3-control.us-east-1.amazonaws.com
个media.domain.com.s3.amazonaws.com
个
我做错什么了?
3条答案
按热度按时间gcuhipw91#
当使用虚拟托管样式的bucket和SSL时,SSL通配符证书只匹配不包含点(“.”)的bucket。要解决这个问题,请使用HTTP或编写自己的证书验证逻辑
amazon-s3-path-deprecation-plan-the-rest-of-the-story
您需要重命名不包含
dots (".")
的存储桶或使用路径样式URL避免SSL错误。因为它应该为
字符串
但
media.domain.com.s3.amazonaws.com
的SSL将中断或者您可以使用@Chris建议的CloudFront,或者您可以查看另一个简单的选项VirtualHostingCustomURLs
在S3中使用自定义SSL。
https://media.domain.com/object.jpg
了x1c 0d1x的数据
的
j8ag8udp2#
自定义域上HTTPS的
media.domain.com.s3.amazonaws.com
CNAME将无法通过任何SSL验证,因为证书是用于s3.amazonaws.com
子域而不是media.domain.com
子域。此外,如果试图直接在浏览器中访问
media.domain.com.s3.amazonaws.com
,则SSL验证将失败,因为SSL仅对单级子域(*.s3.amazonaws.com
)有效。如果你想解决这个问题,你需要托管这个域来解析为CloudFront distribution,sits in front of your S3 bucket。
通过这样做,您可以在创建应该使用的发行版时指定SSL。
rqqzpn5f3#
[2023]现在没有这样的问题,下面是我使用的方法:
1-向Cloudflare上的域添加CNAME记录
2-使用要在AWS S3上使用的子域和域名(例如“static.domain.com”)创建Bucket并将其公开。
3-AWS S3上的存储桶URL现在看起来像“https://s3.eu-central-2.amazonaws.com/static.domain.com”,但您在CNAME记录“static.domain.com.s3.eu-central-2.amazonaws.com”中,您应该添加为
4-[Most Important Step] => WAIT,一旦你做了以上的设置,不要期望立即得到结果,你会得到一个ssl错误。至少等一个小时,看看结果。
祝你好运。