2012-08-29 51 views
14

我在亚马逊Route53有一个子域。比方说secure.example.com如何在Amazon Route53中将http请求转发到https?

如果请求来像https://secure.example.com这是好的,但我想强制http请求来通过https。当用户输入http://secure.example.com时,需要将其转发给https://secure.example.com

是否有通过httphttpsAmazon Route53的域级重定向/转发请求?

回答

12

不,没有办法做到这一点 - 因为它不是强制任何特定协议或将值从一个协议推送到另一个协议的DNS功能。您可以在Web服务器级别轻松完成此任务,无论是在Apache,IIS还是NGINX中。

如有此种情况下,A或CNAME值指向一个特定的记录到一个特定的地址(IP或其他主机名是否)是一样的,它只是要通过端口80或443

连接

在Apache中,你可以简单地用一个重写(mod_rewrite的启用第一):

RewriteEngine On 
RewriteCond %{SERVER_PORT} !^443$ 
RewriteRule (.*) https://www.host.com/$1 [R] 
5

只是一个快速更新这个问题。在回答您的问题否时,您不能使用路由53来强制使用HTTPS,这将导致一些人认为强制在AWS托管上使用https是不可能的。

您可以在证书管理器中创建SSL证书(或导入您自己的证书),托管您的网站(S3/EC2),然后您需要为您的站点设置CloudFront分配并导入您的SSL证书,您可以然后通过CloudFront控制台中的行为选项卡强制HTTPS。

相关问题