Amazon web services 使用EC2实例将AWS Route 53区域顶点重定向到AWS S3
我有一个裸域,我计划使用二维码(因此希望尽可能短-例如qrc.me) 我想将这个域名重定向到AWS S3 Bucket(最终是Cloudfront发行版),但AWS Route 53不允许我添加CNAME记录作为apex区域 我知道有一个名为的服务,它看起来可以满足我的需要(给我一个IP地址,它将映射到CNAME),但我有一个完全可定制的EC2实例的完整池供我使用,所以我想自己做一些事情 那么,我的问题是,如何最好地构建一个运行真正精简的EC2实例,接收请求并简单地重定向到S3 bucket上的等效URL 我是一个Windows操作系统的人,所以我在IIS方面做得更好,但是如果Apache以更好的性能做同样的工作,我很乐意这样做Amazon web services 使用EC2实例将AWS Route 53区域顶点重定向到AWS S3,amazon-web-services,dns,amazon-route53,Amazon Web Services,Dns,Amazon Route53,我有一个裸域,我计划使用二维码(因此希望尽可能短-例如qrc.me) 我想将这个域名重定向到AWS S3 Bucket(最终是Cloudfront发行版),但AWS Route 53不允许我添加CNAME记录作为apex区域 我知道有一个名为的服务,它看起来可以满足我的需要(给我一个IP地址,它将映射到CNAME),但我有一个完全可定制的EC2实例的完整池供我使用,所以我想自己做一些事情 那么,我的问题是,如何最好地构建一个运行真正精简的EC2实例,接收请求并简单地重定向到S3 bucket上的
谢谢。以下是对我有效的方法: 鉴于53号干线的这一记录:
www.foobles.com CNAME foobles.herokuapp.com
我想输入“foobles.com”并被重定向到“www.foobles.com”
11.55.21.22
。然后我为foobles.com
创造了一个A记录
foobles.com A 11.55.21.22
sudo touch /etc/apache2/sites-available/foobles_zone_apex
sudo a2ensite foobles_zone_apex
并在其中加入以下规则:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1
sudo a2enmod rewrite
sudo touch /etc/apache2/sites-available/foobles_zone_apex
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>
302发现
建立
文档已移动
本地主机端口80上的Apache/2.2.22(Ubuntu)服务器
这似乎相当快,即使是在一个微型实例上。不过,我不会太公开这个URL,因此在您的情况下,您必须进行性能测试或将其移动到一个更大的实例上。作为记录,由于这篇文章在搜索结果中显示得相当高,让我添加一个更新: 对此的支持已经在AmazonS3中实现,因此您现在也可以在S3中托管zone apex-参见