EC2托管网站配置HTTPS后仍显示不安全的排查解决方法
ELB挂载EC2场景下HTTPS访问提示不安全的遗漏配置项
你当前已完成的配置如下:
- 网站资源上传至S3存储桶
- 创建EC2实例,安全组放通22、80端口对0.0.0.0/0网段的访问权限
- 在EC2实例内部署并启动Apache服务
- 创建ELB,配置监听器规则:HTTP请求自动跳转HTTPS,HTTPS请求转发至后端目标组
- 完成后端目标注册后,直接访问ELB默认DNS域名时网站提示不安全
核心遗漏配置项
- HTTPS监听器未绑定合法可信的SSL/TLS证书
你仅配置了监听器的转发、跳转规则,未给ELB的443端口HTTPS监听器关联可用的服务器证书。你可以通过AWS ACM申请对应域名的可信证书,或者将第三方CA签发的证书导入ACM后绑定到监听器,无合法可信证书时浏览器会直接判定连接不安全。 - 直接访问ELB默认DNS域名必然触发域名不匹配告警
ELB自动分配的DNS域名所有权归AWS所有,你无法为该域名申请到匹配所有权的SSL证书,即便绑定了自有证书,访问域名和证书记录的授权域名不一致,浏览器依然会报不安全。你需要将自有域名通过CNAME记录解析到ELB的DNS地址,最终通过自有域名访问站点。 - 安全组配置存在缺失和过度授权问题
确认ELB关联的安全组已经放通入站方向80、443端口对0.0.0.0/0的访问权限,否则HTTPS请求无法正常到达监听器。
另外EC2实例当前的安全组规则风险极高:不应该放通80端口对0.0.0.0/0的访问,需要将80端口的入站源修改为ELB关联的安全组ID,仅允许ELB流量访问后端EC2,避免用户绕开HTTPS跳转直接通过HTTP访问EC2源站。 - HTTPS监听器安全策略配置不符合规范
如果已经绑定了证书,需要检查HTTPS监听器选择的TLS安全策略,若选择了支持TLS1.0/1.1等老旧协议版本的策略,现代浏览器会因为连接使用了不安全的过时协议标记站点为不可信,建议选择至少支持TLS1.2及以上版本的安全策略。 - 站点混合内容问题触发不安全提示
确认站点页面代码中没有写死HTTP协议的静态资源(图片、JS脚本、CSS样式、接口请求等),HTTPS页面加载HTTP资源时会触发混合内容拦截,浏览器也会提示站点连接不安全,需要将所有站内资源链接改为相对路径或者HTTPS协议地址。 - 源站内容未正确部署
你目前仅将网站内容上传到了S3存储桶,未将资源同步到EC2上Apache服务对应的站点根目录(默认路径为/var/www/html),即便HTTPS配置完成,也无法正常加载站点内容,可以通过S3同步命令将S3内的站点资源同步到Apache的服务目录下。
内容的提问来源于stack exchange,提问作者ChanGan
相关产品推荐
相关产品推荐

