我的知识记录

HTTPS访问被浏览器拦截:证书信任与HSTS_HTTPS_SSL证书_

处理过几十个站点的HTTPS问题,发现80%的故障都出在同样的几个地方。把这些高频故障点和对应解法整理出来,遇到问题先对照检查,大部分情况能快速定位。

HTTPS已经是网站标配,但配置过程中容易出问题。证书申请失败、安装后不生效、混合内容警告、跳转死循环,这些都是常见坑。证书类型、验证方式、服务器配置都要对应正确。

完整操作流程如下,每一步都有验证方法。

申请SSL证书先确认域名解析正确。A记录指向服务器IP,或者CNAME指向CDN。Let's Encrypt用certbot命令申请,certbot certonly --webroot -w /网站根目录 -d 域名.com -d www.域名.com。验证文件自动放在.well-known目录,80端口要能访问。

证书安装到Nginx。配置文件里ssl_certificate指向fullchain.pem,ssl_certificate_key指向privkey.pem。监听443端口,开启ssl。ssl_protocols用TLSv1.2 TLSv1.3,ssl_ciphers用高强度加密套件。配置完nginx -t测试语法,再reload。

强制HTTPS跳转。80端口的server块里return 301 https://$host$request_uri。注意CDN环境下要判断X-Forwarded-Proto,避免跳转死循环。if ($http_x_forwarded_proto != 'https') { return 301 https://$host$request_uri; }

检查混合内容。页面里的图片、CSS、JS如果还是HTTP链接,浏览器会提示不安全。数据库批量替换UPDATE article SET content=REPLACE(content,'http://','https://')。相对路径//开头的资源会自动适配协议,推荐用这种写法。

操作过程中有几个点需要特别注意。

API接口和第三方服务要做异常处理。调用外部接口加超时和重试,返回错误要有降级方案,不要因为第三方服务挂了导致自己网站崩溃。密钥和Token不要硬编码在代码里,放配置文件并且不要提交到公开代码仓库。

更新前看更新日志和兼容性。CMS大版本升级可能不兼容旧模板和插件,PHP升级可能导致旧代码报错,系统更新可能影响服务配置。先在测试环境验证,备份后再升级生产环境,升级完全面测试功能。

权限设置遵循最小原则。配置文件644,上传目录755,其他目录644或755。不要图省事全设777,任何用户都能写文件,有上传漏洞就会被写入webshell。文件属主设为web运行用户,不要用root。

出问题先保数据再恢复服务。数据库损坏先备份数据文件再修复,服务器故障先把磁盘挂到其他机器拷数据。数据是最宝贵的,操作可能让情况更糟,先备份再动手。恢复服务后再查根本原因,不要在高峰期花太多时间排查。

实际操作中还会碰到一些衍生问题,这里一并说明。

问:网站需要装安全狗之类的防护软件吗?答:看情况。服务器层面防火墙和fail2ban是基础,网站层面WAF能拦截常见攻击。云服务器厂商自带的安全组和云WAF够用,不一定装第三方防护软件。第三方软件占资源,配置不当还可能误封,根据实际需求选择。

问:改完配置不生效怎么办?答:先确认改的是正在用的配置文件,多版本PHP或者多站点配置文件路径不一样。改完重载对应服务,清缓存包括CDN缓存和浏览器缓存。用无痕模式或者强制刷新(Ctrl+F5)测试。

总结核心三步:确认问题原因、按标准流程操作、验证结果并做好备份。文档和社区资源比较完善,遇到陌生问题先查官方资料,不要盲目改配置。操作过程每一步留痕,出问题能快速回滚。

HTTPS访问被浏览器拦截:证书信任与HSTS_HTTPS_SSL证书_

标签:

更新时间:2026-08-30 15:49:33

上一篇:流量算法_HTTPS流量与Gzip优化估算

下一篇:新网虚拟主机附件目录被扫描防盗链配置_Windows 虚拟主机Referer规则