You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS网站SSL证书异常:非HTTPS访问显示不安全,求解决方法

解决AWS SSL证书部署后HTTP访问仍显示不安全的问题

兄弟,这个问题我太熟了——本质上就是你的网站没把默认的HTTP请求强制转到HTTPS上,浏览器默认用HTTP访问自然会触发“不安全”提示,手动加https时才会用到你部署的SSL证书。结合你在AWS上的部署场景,给你分几种常见情况对应解决:

情况1:用CloudFront做CDN分发

  • 登录AWS控制台,打开CloudFront服务,找到你对应域名的分发
  • 切换到「行为」标签页,点击「编辑」默认行为
  • 在「查看器协议策略」下拉框里选择**「重定向到HTTPS」**,保存配置
  • 耐心等15-30分钟让CloudFront分发生效,之后再访问不带https的域名就会自动跳转了

情况2:用Application Load Balancer(ALB)

  • 打开EC2控制台,找到你的ALB实例
  • 切换到「监听器」标签页,点击「添加监听器」
  • 配置监听器:协议选HTTP,端口填80;然后添加规则,把所有请求重定向到HTTPS(443端口),重定向类型选301(永久重定向,对SEO更友好)
  • 保存配置后,HTTP请求就会被ALB自动转到HTTPS了

情况3:直接在EC2上部署Web服务器(Nginx/Apache)

如果你的SSL证书是直接部署在EC2的Web服务器上,那需要在服务器层面配置重定向:

Nginx配置

  • 打开你的站点配置文件(比如/etc/nginx/sites-available/mydomain.conf)
  • 添加一个监听80端口的server块,用来重定向:
    server {
        listen 80;
        server_name mydomain.com www.mydomain.com;
        return 301 https://$server_name$request_uri;
    }
    
  • 重启Nginx生效:sudo systemctl restart nginx

Apache配置

  • 先启用rewrite模块:sudo a2enmod rewrite
  • 在你的虚拟主机配置文件或者站点根目录的.htaccess里添加以下规则:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
  • 重启Apache生效:sudo systemctl restart apache2

额外检查点

  • 确认你的SSL证书是SAN证书,同时包含mydomain.com和www.mydomain.com两个域名(不过你说加https后显示安全,这个大概率没问题,但还是可以去AWS Certificate Manager里确认下)
  • 检查DNS记录:确保mydomain.com和www.mydomain.com都正确指向你的AWS资源(CloudFront域名、ALB域名或EC2公网IP)
  • 测试时用浏览器隐私窗口,避免旧缓存干扰

内容的提问来源于stack exchange,提问作者yodeveloper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 15:37:54