我的知识记录

HTTPS访问配置最佳实践:安全与性能平衡_HTTPS_SSL证书_

昨天又有站长问HTTPS怎么弄。这个问题每个月都能碰到好几次,干脆写一篇完整的操作指南。从准备工作到收尾验证,把所有环节写清楚,以后直接发链接就行。

Let's Encrypt免费证书用的人多,申请失败的情况也常见。域名解析不对、80端口不通、验证文件访问不到、申请频率超限,这些原因占了失败案例的大部分。

操作方法如下,新手也能跟着完成。

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

有几个细节不能忽略,列出来供参考。

数据库操作前确认WHERE条件。UPDATE和DELETE没有WHERE会影响全表,数据全改或者全删。先SELECT确认影响范围,加LIMIT限制条数,在测试环境验证SQL。执行完再SELECT确认结果,不对的话从备份恢复。

命令操作前先确认路径和参数。rm -rf删错目录、mv覆盖错文件、chmod改错权限,这些都是不可逆操作。执行前ls看一下当前目录,命令里用绝对路径,重要文件操作前先备份。

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

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

还有几个相关问题顺便提一下。

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

问:Linux命令记不住怎么办?答:常用命令就那十几个,man命令看手册,--help看参数。历史记录用方向键翻,history看所有执行过的命令。复杂操作写脚本,下次直接运行脚本不用记命令。运维文档记录常用操作步骤,照着做就行。

技术问题最怕一知半解就动手改配置。这个功能涉及几个配置项联动,改一个不改另一个就会出问题。这篇文章把关联配置都列出来了,按顺序操作不会漏项。改完做一轮全面测试,确认没问题再收尾。

HTTPS访问配置最佳实践:安全与性能平衡_HTTPS_SSL证书_

标签:

更新时间:2026-08-27 10:42:57

上一篇:PPT创建时间修改后不生效?ppt创建时间修改后不生效解决,亲测可用

下一篇:易优CMS网站搬家流程:数据库备份与域名更换_易优CMS_数据库配置_网站搬家