已配置HTTPS时CloudFront域名默认走HTTP连接的问题咨询
核心原因
直接输入域名默认不走安全连接,和Route 53配置无关,是CloudFront分发漏开了HTTP到HTTPS的自动跳转规则。默认配置下CloudFront同时允许HTTP、HTTPS两种访问方式,浏览器输入不带协议头的域名时会优先发起HTTP请求,没有跳转规则的话就会一直停留在非安全连接状态。
修复操作步骤
- 打开AWS控制台进入CloudFront面板,找到你绑定
example.net的目标分发,进入分发详情的编辑页面 - 切换到「行为」标签页,选中路径规则为
Default (*)的默认缓存行为,点编辑按钮 - 找到「查看器协议策略」配置项,将默认选中的
HTTP and HTTPS修改为 将HTTP重定向到HTTPS不要误选「仅HTTPS」选项:该规则会直接拒绝HTTP请求返回403错误,不会做自动跳转,用户直接输入域名仍然会访问失败
- 拉到页面最下方保存配置,等待CloudFront完成分发部署,一般等待5~15分钟,当分发状态从
InProgress变为Deployed时配置就会生效
效果验证
配置生效后,打开浏览器无痕窗口(避免本地缓存影响),直接输入example.net访问,会自动跳转到HTTPS连接,地址栏显示安全锁标识即为配置成功。
www域名无法访问的后续处理方案(非优先)
等主域名HTTPS跳转正常后,按以下步骤配置即可恢复www域名访问:
- 确认你申请的ACM SSL证书同时包含
example.net和www.example.net两个域名条目,注意给CloudFront使用的ACM证书必须签发在us-east-1区域 - 在CloudFront分发的「备用域名」配置项中添加
www.example.net,绑定对应覆盖双域名的SSL证书 - 进入Route 53控制台,给
www.example.net添加A类型别名记录,指向和主域名相同的CloudFront分发即可
内容的提问来源于stack exchange,提问作者mainieri
相关产品推荐
相关产品推荐

