繁体   English   中英

在 Route 53 和 S3 中使用国际化域名

[英]Using internationalized domain name with Route 53 and S3

我想通过以下地址向全世界公开托管在 Amazon S3 上的 static web 页面:

zolty.aaa

更重要的是,我想从以下地址重定向用户:

zol-ty.aaa
żółty.aaa
żólty.aaa
... and all combinations of z-ż, o-ó, etc.. 

到主要地址 - zolty.aaa。 当然,所有域名都被购买了。

当涉及到第一个域名时,这很容易。

  1. 在 Route53 中将 zolty.aaa 设置为 zolty.aaa S3 存储桶的别名
  2. 在 Route53 中将 zol-ty.aaa 设置为 zol-ty.aaa S3 存储桶的别名
  3. 将所有请求(在 S3 存储桶设置中)从 zol-ty.aaa 重定向到 zolty.aaa

不幸的是,如果域包含非 ASCII 字符,事情就没那么简单了。

基于AWS 文档punycode 应该用于国际化域名。

所以现在我的域如下所示:

xn--ty-4ja03asj.aaa

我能够使用这样的名称在 Route 53 中创建托管区域。 现在我想创建 S3 存储桶并将 ALIAS 添加到 DNS (Route53) 中的这个存储桶。 根据 Amazon 文档,S3 存储桶的名称应与域名相同。 所以我正在创建存储桶 xn--ty-4ja03asj.aaa。 但它在 Route53 中不可见作为 ALIAS 的可能目标。

我怎样才能实现所描述的行为?

我将不胜感激。

在这里检查您需要做的是:

  1. 将您的域转换为punycodehttps : //cryptii.com/pipes/punycode

  2. 创建一个托管区域并将该punycode设置为域名;

  3. 将您托管区域中的名称服务器添加到域控制面板;

S3 存储桶必须使用punycode创建,并删除了初始的xn--

żółty.aaa的 punycode 名称将是xn--ty-4ja03asj.aaa 因此,创建的 S3 存储桶必须是ty-4ja03asj.aaa

顺便说一句,如果使用 Cloudfront,则将原点设置为ty-4ja03asj.aaa.s3-website-<region>.amazonaws.com或者如果只是从 Route 53 指向使用s3-website-<region>.amazonaws.com之后选择了“S3 网站端点的别名”。

不幸的是,S3 存储桶名称不能以前缀 xn-- 开头

仅当您直接通过 Route 53 进行设置时,才需要具有相同的域名和存储桶名称。 如果您使用 CloudFront 进行设置,则存储桶和域不必相同。

我使用其中一个教程将我的 IDN 与我的 s3 static 网站相关联。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM