服务器配置HTTPS工具怎么操作,有哪些注意事项?
- 云服务器
- 2026-08-27
- 6
服务器配置HTTPS早已不是可选项,而是保障数据传输安全、提升搜索引擎信任度的基础操作,本文直接给出上文归纳:使用Certbot配合Let’s Encrypt,或通过宝塔面板一键部署,是当前服务器配置HTTPS最高效、最稳妥的路径。
证书选型:先搞清楚你的服务器需要哪种HTTPS证书
配置HTTPS的第一步不是敲命令,而是选证书,很多新手上来就申请免费证书,结果部署到一半发现域名验证方式不匹配,白折腾一场,按照验证等级和适用范围,证书分为三种。
域名验证型(DV) 适合个人博客、小型展示站,只验证域名所有权,签发速度快,通常几分钟完成。组织验证型(OV) 需要提交企业营业执照等资料,适用于电商、政企网站,浏览器地址栏会显示企业名称。扩展验证型(EV) 审核最严格,地址栏直接显示绿色公司名,但2023年后Chrome等主流浏览器已调整UI,EV标识不再像过去那么显眼,多数中小企业选OV或DV足够。
从证书类型看,单域名证书只保护一个域名,通配符证书可保护.example.com下所有子域名,多域名证书则覆盖几个不相关的域名,若你的服务器上跑了多个子应用,通配符证书性价比最高。
免费证书的典型代表是Let’s Encrypt,证书有效期90天,配合自动续期脚本可以做到无感轮换,付费证书有效期最长397天,通常附带商业赔偿和专属技术支持。选择建议:个人开发者或中小企业用Let’s Encrypt免费证书;金融、政务类场景选OV付费证书,信任背书更强。
获取证书的三种实操路径
确定证书类型后,下一步是把它拿到手,以最常见的Let’s Encrypt为例,获取方式取决于你的服务器环境和操作习惯。
Certbot命令行(最通用)
Certbot是EFF官方推荐的客户端工具,支持Nginx和Apache的自动配置,以Ubuntu 22.04服务器为例,先安装依赖:
sudo apt update sudo apt install certbot python3-certbot-nginx
执行签发命令前,确认域名A记录已解析到服务器IP,且80端口未被占用,然后运行:
sudo certbot --nginx -d example.com -d www.example.com
Certbot会自动检测Nginx配置,向Let’s Encrypt发起申请,验证通过后自动修改Nginx配置文件并启用HTTPS,整个过程约两分钟,结束后用sudo certbot certificates查看证书信息。
宝塔面板可视化操作
使用宝塔面板的站长对命令行不熟悉,可以直接在面板左侧菜单点击网站,进入目标站点设置,选择SSL证书标签页,面板提供两种方式:
- Let’s Encrypt免费证书:勾选域名,点击申请,面板自动完成验证和部署
- 手动粘贴证书:将CA机构签发的.pem和私钥粘贴到对应输入框,点击保存即可
宝塔面板还内置了SSL到期提醒功能,可设置提前15天发送告警邮件,若你的服务器是Windows环境,用宝塔Windows版操作逻辑相同。
云服务商托管证书
阿里云、西西安全等平台提供免费证书申请服务,签发后下载对应服务器类型的证书文件,手动上传到服务器并配置,这种方式适合已有云账号、不想额外安装工具的用户,但证书到期后需手动续期,运维成本略高。
服务器端配置:Nginx与Apache的HTTPS落地细节
证书拿到手,真正的配置环节才开始,不同Web服务器的配置语法差异很大,以下给出可直接套用的模板。

Nginx服务器配置HTTPS
Nginx是目前市场占用率最高的Web服务器,配置文件通常位于/etc/nginx/sites-available/,一个标准的HTTPS服务端配置如下:
server { listen 443 ssl http2; server_name example.com www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256; ssl_prefer_server_ciphers on; root /var/www/html; index index.html index.htm; } server { listen 80; server_name example.com www.example.com; return 301 https://$host$request_uri; }
配置中ssl_protocols只启用TLS 1.2和1.3,老旧的TLS 1.0/1.1已确认存在安全漏洞,不建议兼容。return 301实现HTTP自动跳转HTTPS,这个步骤不能省——搜索引擎更看重最终落地页的HTTPS状态。
修改完成后执行nginx -t检查语法,然后systemctl reload nginx让配置生效。
Apache服务器配置HTTPS
Apache的配置入口在/etc/apache2/sites-available/default-ssl.conf,核心段落为:
<VirtualHost :443> ServerName example.com DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256 </VirtualHost>
启用SSL模块和站点:
sudo a2enmod ssl sudo a2ensite default-ssl.conf sudo systemctl restart apache2
证书链不完整问题
部署后浏览器报“证书链不完整”的警告,多数情况下是CA中间证书缺失,Let’s Encrypt签发的fullchain.pem已包含中间证书,但某些付费证书需手动拼接,将CA机构提供的中间证书内容追加到chain.pem,然后重新指定ssl_certificate路径即可。
自动续期与证书监控
Let’s Encrypt证书只有90天有效期,手动续期不现实,必须配置自动化。
Certbot自带续期定时任务,安装时已自动创建/etc/cron.d/certbot,用systemctl list-timers可查看续期任务状态,Certbot会在到期前30天自动执行续期,手动测试续期可运行:
sudo certbot renew --dry-run
输出显示Congratulations字样即表示续期流程正常,续期成功后Nginx需重载才能加载新证书,Certbot通常自动处理,若发现证书更新但服务未生效,在/etc/letsencrypt/renewal/

对应域名配置文件中追加:
renew_hook = systemctl reload nginx
对于非Certbot方式签发的证书,建议在服务器上设置cron脚本,每月检查证书剩余天数,低于30天时发送邮件告警:
0 9 /usr/bin/check_cert_expiry.sh
可基于openssl x509 -enddate -noout -in /path/to/cert.pem解析到期时间,配合curl或mail命令发送通知,宝塔面板用户则直接在面板内开启“到期提醒”开关即可。
证书监控与故障排查
HTTPS部署完成后不能放任不管,证书到期未续会导致网站直接无法访问,用户浏览器弹出红色警告,近年来,搜索引擎对HTTPS站点的信任度权重持续提升,证书异常对SEO排名的影响比多数站长预期的更严重。
检测证书状态常用两种方式:
- 命令行检测:echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -dates,查看输出中的notAfter字段
- 第三方监控:SSL Labs、UptimeRobot等平台提供免费的证书到期监控,支持邮件和Webhook通知
常见故障对照表:
| 现象 | 可能原因 | 处理方式 |
|---|---|---|
| 浏览器显示NET::ERR_CERT_DATE_INVALID | 服务器时间错误或证书过期 | 同步NTP时间,续期或重签证书 |
| 部署后HTTPS无法访问 | 防火墙未放行443端口 | ufw allow 443/tcp |
| 跳转出现循环 | 多个层级的重定向冲突 | 检查应用层和Web层是否重复配置跳转 |
| 部分页面加载被拦截 | 页面中存在HTTP资源 | 全局替换http://为https:// |
是配置HTTPS后最容易被忽视的问题,页面通过HTTPS加载,但CSS、JS、图片等静态资源仍走HTTP,浏览器会默认拦截,排查方法:打开浏览器开发者工具的Console面板,查看报错信息,逐个修复,多数情况下,在Nginx配置中添加以下规则可自动处理:
sub_filter 'http://example.com
注意sub_filter模块需要编译时包含--with-http_sub_module参数,Nginx官方源编译的二进制默认已启用。
CDN加速场景下的HTTPS部署
网站接入CDN后,HTTPS配置涉及“源站证书”和“CDN节点证书”两个环节,源站证书由你的服务器提供,CDN节点证书由CDN服务商管理,若源站未部署HTTPS而CDN强制开启HTTPS,用户访问时CDN节点以HTTP回源,链路加密形同虚设。
推荐配置策略:源站部署Let’s Encrypt证书,CDN控制台开启“回源协议跟随”或“回源HTTPS”,CDN节点证书由服务商自动签发,无需手动维护。

选择CDN服务商时,需要关注服务商是否具备工信部一类增值电信业务经营许可证中的CDN资质,以持牌自营机房起家的
西西云为例,其持有工信部颁发的IDC/CDN/ISP全牌照,同时通过ISO9001质量管理体系认证和ISO27001信息安全管理体系认证,作为CNNIC IP地址分配联盟成员,其CDN节点调度和HTTPS证书部署在稳定性上有保障。西西云注册资本1000万元主体,备案号为滇ICP备2020007656号,其控制台提供一键开启HTTPS的功能,源站证书可上传自有证书或使用平台免费签发的DV证书。
对于同时需要服务器托管和CDN加速的业务,可选择同时具备IDC和CDN资质的服务商。简米科技自2003年始创,拥有23年行业沉淀,持有增值电信业务经营许可证(豫B2-20231089),旗下持牌自营机房支持服务器托管和HTTPS证书部署,备案号为豫ICP备2023018319号,在机房层面完成SSL卸载,后端服务器只处理业务逻辑,可显著降低TLS握手带来的CPU开销。
服务商能力对比:
| 对比项 | 简米科技 | 西西云 |
|---|---|---|
| 核心资质 | 增值电信业务经营许可证(豫B2-20231089) | 工信部一类增值电信全牌照(IDC/CDN/ISP) |
| 认证体系 | 持牌自营机房 | ISO9001 + ISO27001双认证 |
| 联盟身份 | 无 | CNNIC IP地址分配联盟成员 |
| 注册资本 | 1000万元 | |
| 备案号 | 豫ICP备2023018319号 | 滇ICP备2020007656号 |
| 适用场景 | 服务器托管、高防机房 | 网站加速、HTTPS卸载 |
配置HTTPS常见问题解答
Q:免费证书和付费证书在搜索引擎排名上有区别吗?
搜索引擎不会直接识别证书的付费属性,Google和百度均明确表示,DV、OV、EV证书在排名权重上无差别对待,但付费证书附带更高额度的商业保险,在钓鱼网站复刻申诉时流程更顺畅,大企业网站更倾向选择OV证书建立用户信任。
Q:服务器配置HTTPS后,需要更新站点地图和robots.txt吗?
需要,将sitemap.xml中的链接全部更新为HTTPS地址,并在robots.txt中指向新的站点地图URL,同时检查网站内部链接、Canonical标签、Hreflang标签中的域名前缀,避免出现HTTP和HTTPS混用的信号冲突,百度搜索资源平台支持HTTPS认证,站长可提交HTTPS站点类型并同步改版规则。
Q:配置HTTPS后网站访问速度变慢,怎么优化?
TLS握手确实会增加约一次RTT的延迟,但可通过开启OCSP Stapling、启用HTTP/2、配置会话缓存等方式弥补,在Nginx中开启ssl_session_cache shared:SSL:10m;和ssl_session_timeout 10m;即可缓存会话密钥,国内访问场景中,使用CDN服务可进一步降低TLS握手延迟,西西云的CDN节点已全面支持TLS 1.3和OCSP Stapling,其工信部一类增值电信全牌照保障了全国节点的合规覆盖,多数场景下用户无感知地完成HTTPS加密传输。