【问题标题】:Redirecting the AWS Route 53 Zone Apex to AWS S3 using an EC2 Instance使用 EC2 实例将 AWS Route 53 Zone Apex 重定向到 AWS S3
【发布时间】:2012-07-25 08:51:31
【问题描述】:

我有一个裸域,我打算将其与 QR 码一起使用(因此希望尽可能短 - 例如 qrc.me

我想将此域名重定向到 AWS S3 存储桶(最终是 Cloudfront 分配),但 AWS Route 53 不允许我添加 CNAME 记录作为顶点区域。

我知道有一个名为 http://arecord.net 的服务看起来可以满足我的需求(给我一个将映射到 CNAME 的 IP 地址),但我有一个完整的完全可定制的 EC2 实例池供我使用,所以我想自己做点什么。

然后我的问题是,如何最好地构建一个运行非常精简、接收请求并简单地重定向到 S3 存储桶上的等效 URL 的 EC2 实例。

我是 Windows 人,所以在 IIS 方面做得更好,但如果 Apache 能以更好的性能完成同样的工作,我很乐意这样做。

谢谢。

【问题讨论】:

    标签: amazon-web-services dns amazon-route53


    【解决方案1】:

    为了记录,由于这篇文章在搜索结果中的显示率相当高,让我添加一个更新:

    此后已在 Amazon S3 中实现了对此的支持,因此您现在也可以在 S3 中托管区域顶点 - 请参阅 http://aws.typepad.com/aws/2012/12/root-domain-website-hosting-for-amazon-s3.html

    【讨论】:

      【解决方案2】:

      这对我有用:

      鉴于这条 Route 53 的记录:

      www.foobles.com CNAME foobles.herokuapp.com 
      

      我想输入“foobles.com”并被重定向到“www.foobles.com”

      1. 我用 Ubuntu 12.04 创建了一个 EC2 微实例,并将它链接到一个弹性 IP,让我们 说11.55.21.22。然后我为foobles.com设置了A记录

        foobles.com A 11.55.21.22

      2. 我设置了一个基本的 Apache 服务器:

        (来自我的本地机器)

        ssh -i ~/.ssh/cert.pem ubuntu@foobles.com
        

        (从这里开始,所有命令都在傻瓜服务器上)

        sudo apt-get install apache2
        
      3. 我创建了重写规则

        sudo touch /etc/apache2/sites-available/foobles_zone_apex
        

        并在其中放入以下规则:

        RewriteEngine On
        RewriteCond %{HTTP_HOST} !^www\.
        RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1
        
      4. 我启用了 apache2 重写模块

        sudo a2enmod rewrite
        
      5. 并启用网站

        sudo a2ensite foobles_zone_apex
        
      6. 最后,删除了默认主机

        sudo a2dissite default
        
      7. sudo service apache2 reload
        

      如果一切顺利,你应该可以做到这一点:

      curl localhost/blargh
      

      看看这个:

      <html><head>
      <title>302 Found</title>
      </head><body>
      <h1>Found</h1>
      <p>The document has moved <a href="http://www.localhost//blargh">here</a>.</p>
      <hr>
      <address>Apache/2.2.22 (Ubuntu) Server at localhost Port 80</address>
      </body></html>
      

      它看起来相当快,即使在微型实例上也是如此。不过,我不会过多地公开此 URL,因此在您的情况下,您必须进行性能测试或将其移至更大的实例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-10-04
        • 2014-12-23
        • 1970-01-01
        • 1970-01-01
        • 2014-09-22
        • 2020-11-14
        • 2019-10-16
        相关资源
        最近更新 更多