WordPress 网站开启 HTTPS 完整实操教学(从证书到配置全流程

WordPress 网站开启 HTTPS 完整实操教学(从证书到配置全流程

行业新闻 2025-10-29 16:14:21 | 阅读:

14.jpeg

HTTPS 是网站安全的基础保障,不仅能加密用户与服务器的传输数据、保护用户隐私,还能提升搜索引擎排名(Google、百度均优先收录 HTTPS 网站)。针对 WordPress 网站,开启 HTTPS 需完成 “SSL 证书获取→服务器配置→WordPress 内部适配→异常排查” 四步,以下结合不同服务器环境(宝塔面板、原生 Linux/Windows),提供详细可落地的操作指南。

一、前置准备:明确 HTTPS 开启的核心前提

在操作前,需确认以下条件已满足,避免后续配置失败:
  1. 域名已完成解析:确保 WordPress 网站的域名(如www.example.com)已正确解析到服务器公网 IP,且解析已生效(可通过ping 域名验证,解析生效时间通常为 10-30 分钟)。
  1. 服务器开放 443 端口:HTTPS 默认使用 443 端口,需在服务器防火墙(如 Linux 的 firewalld/iptables、Windows 高级防火墙)及服务商安全组(如阿里云、腾讯云安全组)中,开放 “TCP 443 端口” 的入站规则(具体操作见下文 “服务器配置” 章节)。
  1. 选择合适的 SSL 证书类型:根据业务需求选择证书,推荐优先级:
    • 免费证书:适合个人博客、小型网站,如 Let's Encrypt(有效期 90 天,支持自动续期)、阿里云 / 腾讯云免费证书(有效期 1 年);
    • 付费证书:适合企业网站、电商平台,如 OV 证书(验证企业身份,显示 “企业名称”)、EV 证书(浏览器地址栏显示绿色小锁 + 企业名称,安全性最高)。

二、第一步:获取 SSL 证书(3 种主流方式,覆盖不同场景)

方式 1:通过宝塔面板一键申请(推荐新手,最简单)

若 WordPress 部署在宝塔面板管理的服务器上,可直接在面板内申请免费证书,无需手动操作:
  1. 登录宝塔面板,进入 “网站” 页面,找到目标 WordPress 网站,点击 “设置”;
  1. 在左侧菜单选择 “SSL”,进入 SSL 配置页面;
  1. 在 “证书类型” 中选择 “Let's Encrypt”,勾选 “自动续期”(避免证书过期导致 HTTPS 失效),点击 “申请”;
  1. 等待 1-2 分钟,面板会自动完成域名验证、证书申请与下载,申请成功后会显示 “证书已部署”。

方式 2:通过云服务商申请(适合使用阿里云 / 腾讯云服务器的用户)

若服务器来自阿里云、腾讯云等平台,可在服务商控制台申请免费 / 付费证书:
  1. 以阿里云为例
    • 登录阿里云控制台,进入 “SSL 证书(应用安全)” 页面,点击 “购买证书”;
    • 选择 “免费证书”(或付费证书),填写域名(如www.example.com),完成支付(免费证书支付金额为 0);
    • 进入 “证书申请” 页面,选择 “自动 DNS 验证”(无需手动添加解析,阿里云会自动完成验证),点击 “提交审核”;
    • 审核通过后(免费证书通常 10 分钟内通过),点击 “下载”,选择与服务器 Web 服务匹配的证书格式(如 Nginx 对应 “Nginx” 格式,Apache 对应 “Apache” 格式),下载后得到压缩包(包含.pem/.crt证书文件与.key私钥文件)。

方式 3:手动申请 Let's Encrypt 证书(适合技术进阶用户)

若需手动控制证书申请流程,可通过 Certbot 工具在服务器上直接申请:
  1. Linux 服务器(以 CentOS 7 为例)
    • 安装 Certbot:yum install certbot python2-certbot-nginx -y(若使用 Apache,替换为python2-certbot-apache);
    • 申请证书并自动配置 Web 服务:certbot --nginx -d www.example.com -d example.com(-d后接需要绑定证书的域名,支持多域名);
    • 执行命令后,按提示输入邮箱(用于接收证书过期提醒),同意服务条款,选择 “Redirect”(自动将 HTTP 请求重定向到 HTTPS),等待完成即可。
  1. 证书续期:Let's Encrypt 证书有效期 90 天,可添加定时任务自动续期:
    • 执行crontab -e,添加定时任务:0 0 1 * * certbot renew --quiet(每月 1 日 0 点自动检查证书,若即将过期则自动续期)。

三、第二步:配置服务器,启用 HTTPS(分 Nginx/Apache/Windows IIS)

场景 1:Web 服务为 Nginx(最常用,适合 Linux 服务器)

情况 A:使用宝塔面板的用户(已自动配置,无需手动操作)

通过宝塔面板申请证书后,面板会自动修改 Nginx 配置文件,无需手动编辑,可跳过此步骤,直接进入 “第三步:WordPress 内部适配”。

情况 B:手动配置(适合未使用宝塔面板的用户)

  1. 将下载的 SSL 证书文件(如www.example.com.pem证书文件、www.example.com.key私钥文件)上传到服务器的证书目录,推荐路径:/etc/nginx/ssl/(需先创建ssl目录:mkdir -p /etc/nginx/ssl/);
  1. 找到 WordPress 网站对应的 Nginx 配置文件,通常路径:/etc/nginx/conf.d/www.example.com.conf(或/usr/local/nginx/conf/vhost/www.example.com.conf);
  1. 编辑配置文件,添加 HTTPS 监听与证书配置,完整配置示例如下(关键部分已标注注释):

server {
listen 80; # 监听HTTP 80端口,用于将HTTP重定向到HTTPS
server_name www.example.com example.com; # 网站域名
return 301 https://$server_name$request_uri; # 强制HTTP跳转HTTPS(核心配置)
}
server {
listen 443 ssl; # 监听HTTPS 443端口
server_name www.example.com example.com; # 与HTTP部分域名一致
# SSL证书配置(替换为你的证书路径)
ssl_certificate /etc/nginx/ssl/www.example.com.pem; # 证书文件路径
ssl_certificate_key /etc/nginx/ssl/www.example.com.key; # 私钥文件路径
# 优化HTTPS性能与安全性(避免浏览器兼容性问题)
ssl_protocols TLSv1.2 TLSv1.3; # 禁用不安全的TLS 1.0/1.1
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256; # 高强度加密套件
ssl_prefer_server_ciphers on; # 优先使用服务器端加密套件
ssl_session_cache shared:SSL:10m; # 启用SSL会话缓存,提升重复访问速度
# WordPress网站根目录配置(与原HTTP配置一致)
root /www/wwwroot/www.example.com; # 替换为你的WordPress根目录
index index.php index.html;
# WordPress伪静态配置(保持原配置不变,若未配置需添加)
location / {
try_files $uri $uri/ /index.php?$args;
}
# PHP解析配置(保持原配置不变)
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000; # 替换为你的PHP端口(通常为9000)
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
  1. 保存配置文件,执行nginx -t验证配置是否正确(显示 “test is successful” 说明配置无误);
  1. 重启 Nginx 服务,使配置生效:systemctl restart nginx(或/etc/init.d/nginx restart)。

场景 2:Web 服务为 Apache(适合 Linux/Windows 服务器)

  1. 将 SSL 证书文件(如cert.pem、private.key)上传到服务器,推荐路径:/etc/httpd/ssl/(Linux)或C:\Apache\ssl\(Windows);
  1. 编辑 Apache 主配置文件:
    • Linux:/etc/httpd/conf/httpd.conf;
    • Windows:C:\Apache\conf\httpd.conf;
  1. 确保以下模块已启用(去掉行首的#):

1  LoadModule ssl_module modules/mod_ssl.so
2  Include conf/extra/httpd-ssl.conf
  1. 编辑 SSL 专用配置文件httpd-ssl.conf(路径:Linux 为/etc/httpd/conf/extra/httpd-ssl.conf,Windows 为C:\Apache\conf\extra\httpd-ssl.conf),添加以下配置:
<VirtualHost _default_:443>
ServerName www.example.com # 网站域名
DocumentRoot
"/www/wwwroot/www.example.com" # WordPress根目录
SSLEngine on # 启用SSL
SSLCertificateFile "/etc/httpd/ssl/cert.pem" # 证书文件路径
SSLCertificateKeyFile "/etc/httpd/ssl/private.key" # 私钥文件路径
# 优化配置
SSLProtocol TLSv1.2 TLSv1.3 # 禁用旧协议
SSLCipherSuite ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256
</VirtualHost>
# 配置HTTP重定向到HTTPS
<VirtualHost *:80>
ServerName www.example.com
Redirect permanent / https://www.example.com/
</VirtualHost>
  1. 验证配置:httpd -t(Linux)或C:\Apache\bin\httpd.exe -t(Windows),无错误则重启 Apache:
    • Linux:systemctl restart httpd;
    • Windows:在 “服务” 中重启 “Apache2.4” 服务。

场景 3:Web 服务为 Windows IIS(适合 Windows 服务器用户)

  1. 打开 “Internet 信息服务 (IIS) 管理器”,选中服务器名称,双击 “服务器证书”;
  1. 点击右侧 “导入”,在弹出的对话框中:
    • 选择下载的 SSL 证书文件(通常为.pfx格式,若为其他格式需先转换);
    • 输入证书密码(若有),勾选 “允许此证书导出”,点击 “确定”;
  1. 选中目标 WordPress 网站,点击 “绑定”,在弹出的 “网站绑定” 窗口中点击 “添加”;
  1. 配置绑定信息:
    • 类型:选择 “https”;
    • 端口:默认 443(无需修改);
    • SSL 证书:选择刚才导入的证书,点击 “确定”;
  1. 配置 HTTP 重定向到 HTTPS:
    • 选中网站,双击 “HTTP 重定向”;
    • 勾选 “将请求重定向到目标”,输入https://www.example.com$SCRIPT_NAME$QUERY_STRING;
    • 在 “重定向类型” 中选择 “永久 (301)”,点击 “应用”;
  1. 重启 IIS 服务:打开 “命令提示符”,执行iisreset,或在 IIS 管理器中右键服务器名称选择 “重启”。

四、第三步:WordPress 内部适配,解决 “混合内容” 问题

方法 1:通过 WordPress 后台修改(适合未使用插件的用户)

  1. 登录 WordPress 后台(此时需通过https://域名/wp-admin访问,若无法登录,可先通过 HTTP 访问,修改后再切换);
  1. 进入 “设置→常规” 页面,修改以下两项:
    • WordPress 地址(URL):将http://改为https://,如https://www.example.com
    • 站点地址(URL):同上,改为https://www.example.com
  1. 点击 “保存更改”,此时 WordPress 会自动退出登录,需重新通过https://域名/wp-admin登录。

方法 2:通过插件一键修复(推荐,解决残留 HTTP 链接)

  1. 登录 WordPress 后台,进入 “插件→安装插件”,搜索 “Really Simple SSL”;
  1. 安装并激活该插件,激活后插件会自动检测 HTTPS 配置,弹出 “启用 SSL” 提示,点击 “Go ahead, activate SSL!”;
  1. 插件会自动完成以下操作:
    • 修复数据库中所有旧 HTTP 链接为 HTTPS;
    • 添加 “HTTPS 强制跳转” 代码到wp-config.php;
    • 解决 “混合内容” 问题,确保所有资源通过 HTTPS 加载;
  1. 验证:点击插件 “设置”,查看 “SSL 状态” 显示 “SSL is active”,说明配置成功。

方法 3:手动修改 wp-config.php(适合插件修复失败的情况)

  1. 通过 FTP 工具(如 FileZilla)或宝塔面板 “文件” 功能,找到 WordPress 根目录下的wp-config.php文件;
  1. 在define('WP_DEBUG', false);(或类似代码)下方,添加以下代码:
// 强制使用HTTPS
define('FORCE_SSL_ADMIN', true);
if
(isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
$_SERVER['HTTPS'] = 'on';
}
// 修复混合内容
add_filter('script_loader_src', 'ssl_script_loader_src', 10, 2);
add_filter('style_loader_src', 'ssl_style_loader_src', 10, 2);
function ssl_script_loader_src($src, $handle) {
return preg_replace('/^http:/', 'https:', $src);
}
function ssl_style_loader_src($src, $handle) {
return preg_replace('/^http:/', 'https:', $src);
}
  1. 保存文件,重新访问网站,确认混合内容问题已解决。

五、第四步:验证 HTTPS 是否配置成功(3 个关键检查点)

  1. 浏览器访问验证
    • 打开 Chrome/Firefox 浏览器,输入https://域名,地址栏显示 “绿色小锁”,鼠标悬停小锁显示 “连接是安全的”,说明 HTTPS 已启用;
    • 点击小锁→“证书”,可查看证书有效期、颁发机构,确认证书未过期且与域名匹配。
  1. 使用 SSL 检测工具验证(推荐 SSL Labs)
    • 访问 SSL Labs 官网(https://www.ssllabs.com/ssltest/),输入网站域名,点击 “Submit”;
    • 检测完成后,若显示 “Grade A” 或 “A+”,说明 SSL 配置安全(包含协议版本、加密套件、证书链完整性均无问题);
    • 若检测出 “警告”(如 “支持 TLS 1.0”“证书链不完整”),需根据提示优化(如禁用旧协议、补充中间证书)。
  1. 检查混合内容问题
    • 在 Chrome 浏览器中打开网站,按F12打开 “开发者工具”,切换到 “Console”(控制台);
    • 若控制台无 “Mixed Content”(混合内容)错误提示,说明所有资源均通过 HTTPS 加载;
    • 若有错误,点击错误链接,定位到使用 HTTP 的资源(如http://example.com/wp-content/uploads/2024/01/img.jpg),通过 WordPress 后台编辑文章或使用插件批量替换为 HTTPS 链接。

总结:

在众多 CDN 服务商中,360cdn.com凭借深厚的技术积累,在核心维度均表现突出:其国内节点覆盖 34 个省份及全部主流运营商,且下沉至地市级别;支持 HTTP/3、Brotli 压缩、WebP 自动转换等性能优化技术,静态资源缓存命中率可达 98% 以上;集成 T 级 DDoS 防护与 AI 驱动的 WAF,同时提供 7×24 小时实时监控与故障排查支持;无论是国内静态资源分发、视频直播,还是全球化业务,均能提供适配的技术方案,是兼顾性能、安全与运维效率的优质选择。