ssl 具有符合CNAME的虚拟名称的AWS S3 URL

xqnpmsa8  于 2023-08-06  发布在  其他
关注(0)|答案(3)|浏览(101)

我正在尝试为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

我做错什么了?

gcuhipw9

gcuhipw91#

当使用虚拟托管样式的bucket和SSL时,SSL通配符证书只匹配不包含点(“.”)的bucket。要解决这个问题,请使用HTTP或编写自己的证书验证逻辑
amazon-s3-path-deprecation-plan-the-rest-of-the-story
您需要重命名不包含dots (".")的存储桶或使用路径样式URL避免SSL错误。
因为它应该为

https://s3.amazonaws.com/media.domain.com/

字符串
media.domain.com.s3.amazonaws.com的SSL将中断
或者您可以使用@Chris建议的CloudFront,或者您可以查看另一个简单的选项VirtualHostingCustomURLs
在S3中使用自定义SSL。

  • 创建cloudfront分发
  • SSL证书下添加SSL
  • 指定备用域名(CNAME),例如media.domain.com
  • 创建原始组并指定S3存储桶
  • 添加route 53记录指向cloudfront disturbtion
  • 现在可以访问https://media.domain.com/object.jpg

x1c 0d1x的数据


j8ag8udp

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 distributionsits in front of your S3 bucket
通过这样做,您可以在创建应该使用的发行版时指定SSL。

rqqzpn5f

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错误。至少等一个小时,看看结果。
祝你好运。

相关问题