Sau*_*rav 134 dns forwarding amazon-route53
我正在尝试在Amazon Route53中设置转发.我最后的DNS服务(Nettica)让我将请求路由到"aws.example.com"到"https://myaccount.signin.aws.amazon.com/console/".
Route53是否支持此功能?
Nettica如何实现这一目标?它是否插入特殊的A,CNAME,PTR或TXT记录?
Viv*_*wla 317
我遇到了Saurav描述的完全相同的问题,但我真的需要找到一个除了Route 53和S3之外不需要任何其他解决方案的解决方案.我为我的博客创建了一个操作指南,详细说明了我的工作.
这就是我想出的.
仅使用Amazon S3和Amazon Route 53中提供的工具,创建一个URL重定向,自动将http://url-redirect-example.vivekmchawla.com转发到位于https的 "MyAccount"别名的AWS控制台登录页面://myaccount.signin.aws.amazon.com/console/.
本指南将教您如何设置URL转发到任何URL,而不仅仅是来自亚马逊的URL.您将学习如何设置转发到特定文件夹(例如我的示例中的"/ console"),以及如何将重定向的协议从HTTP更改为HTTPS(反之亦然).

打开S3管理控制台,然后单击"创建存储桶".

选择存储桶名称.这一步非常重要!您必须将存储桶命名为与要设置转发的URL完全相同.对于本指南,我将使用名称"url-redirect-example.vivekmchawla.com".
选择最适合您的区域.如果您不知道,请保留默认值.
不要担心设置日志记录.只需在准备好后单击"创建"按钮.

将以下XML片段全部粘贴到其中.
<RoutingRules>
<RoutingRule>
<Redirect>
<Protocol>https</Protocol>
<HostName>myaccount.signin.aws.amazon.com</HostName>
<ReplaceKeyPrefixWith>console/</ReplaceKeyPrefixWith>
<HttpRedirectCode>301</HttpRedirectCode>
</Redirect>
</RoutingRule>
</RoutingRules>
Run Code Online (Sandbox Code Playgroud)如果您对上述XML的作用感到好奇,请访问AWM文档"指定路由规则的语法".例如,奖励技术(此处未涉及)转发到目的地主机处的特定页面http://redirect-destination.com/console/special-page.html.<ReplaceKeyWith>如果需要此功能,请阅读有关该元素的信息.

记下亚马逊为此存储桶自动创建的静态网站托管"端点".您稍后需要此功能,因此请突出显示整个网址,然后将其复制并粘贴到记事本中.
警告!此时,您实际上可以单击此链接以检查您的重定向规则是否输入正确,但要小心!这就是为什么......
假设您<Hostname>在重定向规则中的标记内输入了错误的值.也许你不小心输了myaccount.amazon.com,而不是myaccount.signin.aws.amazon.com.如果您单击链接以测试端点URL,AWS将很乐意将您的浏览器重定向到错误的地址!
在注意到您的错误后,您可能会<Hostname>在重定向规则中编辑以修复错误.不幸的是,当您尝试再次单击该链接时,您最有可能最终被重定向回错误的地址!即使您修复了该<Hostname>条目,您的浏览器也会缓存之前的(不正确的!)条目.这是因为我们正在使用HTTP 301(永久)重定向,Chrome和Firefox等浏览器默认会缓存.
如果您将端点URL复制并粘贴到其他浏览器(或清除当前缓存中的缓存),您将有另一次机会查看更新的<Hostname>条目是否最终是正确的.
为安全起见,如果您要测试终结点网址和重定向规则,则应打开隐私浏览会话,例如Chrome中的"隐身模式".在隐身模式下复制,粘贴和测试端点URL,一旦关闭会话,任何缓存的内容都将消失.


单击"创建记录集"将打开Route53管理控制台右侧的"创建记录集"窗口.

在"名称"字段中,输入在命名S3存储桶时使用的URL的主机名部分.URL的"主机名部分"是托管区域名称左侧的所有内容.我将我的S3存储桶命名为"url-redirect-example.vivekmchawla.com",我的托管区域为"vivekmchawla.com",因此我需要输入的主机名部分是"url-redirect-example".
为此记录集的类型选择"CNAME - Canonical name".
对于Value,粘贴我们在步骤3中创建的S3存储桶的端点URL.
单击"创建记录集"按钮.假设没有错误,您现在可以在托管区域的记录集列表中看到新的CNAME记录.
打开一个新的浏览器选项卡,然后输入我们刚刚设置的URL.对我来说,那是http://url-redirect-example.vivekmchawla.com.如果一切正常,您应该直接发送到AWS登录页面.
因为我们使用myaccount.signin.aws.amazon.com别名作为我们的重定向目标网址,所以亚马逊确切地知道我们正在尝试访问哪个帐户,并直接将我们带到那里.如果您想为员工或承包商提供简短,干净,品牌的AWS登录链接,这将非常方便.

我个人喜欢各种AWS服务,但如果您决定将DNS管理迁移到Amazon Route 53,那么缺少简单的URL转发可能会令人沮丧.我希望本指南有助于为托管区域设置URL转发更容易一些.
如果您想了解更多信息,请查看AWS文档站点中的以下页面.
干杯!
Rob*_*ers 140
AWS支持指出了一种更简单的解决方案.这与@Vivek M. Chawla提出的基本相同,具有更简单的实现.
AWS S3:
aws.example.comRedirect all requests to another host name并输入您的URL:
https://myaccount.signin.aws.amazon.com/console/AWS Route53:
Yes.单击Alias
Target字段,然后选择您在上一步中创建的S3存储桶.参考:如何使用Amazon Web Services重定向域
AWS官方文档:有没有办法使用Amazon Route 53将域重定向到另一个域?
Vin*_*Mac 11
我能够使用nginx处理301重定向到aws登录页面.
转到你的nginx conf文件夹(在我的情况下/etc/nginx/sites-available,我在其中/etc/nginx/sites-enabled为启用的conf文件创建一个符号链接).
然后添加重定向路径
server {
listen 80;
server_name aws.example.com;
return 301 https://myaccount.signin.aws.amazon.com/console;
}
Run Code Online (Sandbox Code Playgroud)
如果您使用的是nginx,您很可能会有其他服务器块(apache术语中的虚拟主机)来处理您的区域顶点(example.com),或者您已经设置了它.确保将其中一个设置为默认服务器.
server {
listen 80 default_server;
server_name example.com;
# rest of config ...
}
Run Code Online (Sandbox Code Playgroud)
在Route 53中,添加A recordfor aws.example.com并将值设置为用于区域顶点的相同IP.
虽然我在下面的原始答案仍然有效,并且可能有助于了解基于DNS的URL转发无法通过Amazon Route 53开箱即用的原因,但我强烈建议您查看Vivek M. Chawla的完全智能间接解决方案,同时介绍Amazon S3对网站的支持重定向和实现自包含服务器较少,因此只在AWS中实现免费解决方案.
Nettica必须为此运行自定义重定向解决方案,这是问题所在:
您可以创建一个CNAME别名一样aws.example.com的myaccount.signin.aws.amazon.com,但是,DNS提供了一个别名子目录一样,没有官方的支持,console在这个例子中.
https://myaccount.signin.aws.amazon.com/(我刚尝试过)时,AWS似乎并不是默认执行此操作,因为它会立即解决您的问题,并且首先会有很多意义; 此外,它们应该很容易配置.出于这个原因,一些DNS提供商显然已经实现了一个自定义解决方案,允许重定向到子目录; 我冒昧地猜测他们基本上为他们自己的域提供CNAME别名,并通过立即HTTP 3xx重定向从那里再次重定向到最终目的地.
因此,要实现相同的结果,您需要运行执行这些重定向的HTTP服务,这当然不是人们希望的简单解决方案.也许/希望有人可以提出一个更聪明的方法.
| 归档时间: |
|
| 查看次数: |
141708 次 |
| 最近记录: |