我在 Amazon Route53 中有一个子域。比方说secure.example.com
如果请求来得https://secure.example.com
很好,但我想强制http
请求通过 https。当用户键入http://secure.example.com
时,它需要被转发到https://secure.example.com
.
是否有域级别的重定向/转发请求通过http
到https
in Amazon Route53
?
我在 Amazon Route53 中有一个子域。比方说secure.example.com
如果请求来得https://secure.example.com
很好,但我想强制http
请求通过 https。当用户键入http://secure.example.com
时,它需要被转发到https://secure.example.com
.
是否有域级别的重定向/转发请求通过http
到https
in Amazon Route53
?
只是这个问题的快速更新。在回答您的问题时,您不能使用路由 53 来强制使用 HTTPS,这会导致一些人相信在 AWS 托管上强制使用 https 是不可能的。
您可以在证书管理器中创建 SSL 证书(或导入您自己的证书),将您的网站托管在任何位置(S3/EC2),然后您需要为您的站点设置 CloudFront 分配并导入您的 SSL 证书,然后您可以使用该选项Redirect HTTP to HTTPS
通过 CloudFront 控制台中的行为选项卡。
不,没有办法做到这一点——因为它不是强制任何特定协议或将值从一个协议推送到另一个协议的 DNS 功能。在 Apache、IIS 或 NGINX 中,您可以在 Web 服务器级别轻松完成此操作。
在任何一种情况下,将特定记录指向特定地址(无论是 IP 还是其他主机名)的 A 或 CNAME 值都是相同的,它只是通过端口 80 或端口 443 进行连接。
在 Apache 中,您可以简单地使用重写(mod_rewrite
首先启用):
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://www.host.com/$1 [R]