我有一个裸域,我计划使用QR码(因此希望尽可能缩短它 - 例如qrc.me
我想将此域名重定向到AWS S3 Bucket(最终是Cloudfront分发版),但AWS Route 53不允许我将CNAME记录添加为顶点区域。
我知道有一个名为http://arecord.net的服务看起来像我需要的那样(给我一个映射到CNAME的IP地址),但我有一整套可完全自定义的EC2实例。处理所以我想自己做点什么。
我的问题是,如何最好地构建一个非常精简的EC2实例,接收请求并简单地重定向到S3存储桶上的等效URL。
我是一个Windows用户,所以在IIS中做得更好,但如果Apache以更好的性能完成同样的工作,我很乐意这样做。
感谢。
答案 0 :(得分:1)
这对我有用:
鉴于Route 53中的这条记录:
www.foobles.com CNAME foobles.herokuapp.com
我想输入“foobles.com”并重定向到“www.foobles.com”
我用Ubuntu 12.04创建了一个EC2微实例并将其链接到一个弹性IP,让我们
说11.55.21.22
。然后我为foobles.com
foobles.com A 11.55.21.22
我设置了一个基本的Apache服务器:
(来自我的本地机器)
ssh -i ~/.ssh/cert.pem ubuntu@foobles.com
(从此处开始,所有命令都在foobles服务器上)
sudo apt-get install apache2
我创建了重写规则
sudo touch /etc/apache2/sites-available/foobles_zone_apex
并在其中加入以下规则:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1
我启用了apache2重写模块
sudo a2enmod rewrite
并启用了网站
sudo a2ensite foobles_zone_apex
最后,删除了默认主机
sudo a2dissite default
并且瞧
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,因此在您的情况下,您必须进行性能测试或将其移动到更大的实例。
答案 1 :(得分:1)
对于记录,由于这篇文章在搜索结果中显示得相当高,所以让我添加一个更新:
支持这已经在Amazon S3中实现,因此您现在也可以在S3中托管区域顶点 - 请参阅http://aws.typepad.com/aws/2012/12/root-domain-website-hosting-for-amazon-s3.html