我的知识记录

网站HTTPS访问兼容性处理:旧浏览器与系统_HTTPS_SSL证书_

一个客户的站点因为HTTPS没做好,被百度降权了。花了两周才恢复。痛定思痛整理了这份完整指南,把相关的所有配置项和注意事项都写清楚,避免再踩同样的坑。

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://')。相对路径//开头的资源会自动适配协议,推荐用这种写法。

做的过程中注意以下事项。

CDN环境下改配置注意缓存。改了文件要刷新CDN缓存,否则用户看到旧内容。HTTPS证书要在CDN和源站都装,回源协议要对应。获取真实IP要配置real_ip,否则IP限制和日志都不准。

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

安全扫描定期做。服务器用漏洞扫描工具(Nessus、OpenVAS),网站用在线木马扫描和漏洞检测,数据库检查账号权限和异常数据。扫描完按风险等级整改,高危立即修,中危一周内,低危排期。扫描和整改记录留档。

SSL证书快到期前续期。Let's Encrypt 90天有效期,配置自动续期但要定期检查是否成功。付费证书1年有效期,到期前1个月申请新证书更换。证书过期浏览器提示不安全,用户看到警告就会离开,影响流量和转化。

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

问:数据库密码忘记了怎么办?答:有服务器权限的话MySQL安全模式启动重置密码,或者看网站配置文件里存的数据库密码。宝塔面板在数据库管理里能看密码(点眼睛图标)。没服务器权限找主机商重置。

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

这套流程经过多个站点实际验证,按步骤操作解决绝大多数同类问题。版本更新可能有小的界面变化,底层逻辑和配置项不会大变。操作中遇到版本差异以当前版本官方文档为准,核心步骤不变。

网站HTTPS访问兼容性处理:旧浏览器与系统_HTTPS_SSL证书_

标签:

更新时间:2026-09-01 14:36:11

上一篇:网站SEO问题全面排查:收录排名索引技术配置_全面排查_运维指南_最佳实践

下一篇:MySQL被黑后启动失败_恶意配置与数据损坏修复