所有修复操作前先完成以下两步排查,避免做无效操作:
优先验证证书本身是否合法,可通过两种方式验证:
```bash openssl s_client -connect 你的域名:443 -servername 你的域名 ```
如果排查发现证书过期、绑定域名与实际访问域名不一致、是未受信任的自签证书,需先重新申请合法证书,国内可直接申请云厂商免费证书:
登录WordPress后台,进入【设置-常规】页面,确认WordPress地址(URL)和站点地址(URL)两个字段均为HTTPS开头的域名,若为HTTP需先修改为HTTPS后保存。
这类报错是证书未正确部署到服务器导致,按你使用的服务器环境选择对应操作:
Nginx环境:编辑站点对应的Nginx配置文件,替换为以下完整配置(需修改域名、证书路径、站点根目录为你自己的信息):
```nginx
server {
listen 80;
server_name 你的域名 www.你的域名;
所有HTTP请求强制跳转HTTPS
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name 你的域名 www.你的域名;
替换为你的证书文件实际存储路径
ssl_certificate /etc/nginx/ssl/你的域名.pem;
ssl_certificate_key /etc/nginx/ssl/你的域名.key;
安全加密配置,无需修改
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
替换为你的WordPress站点根目录路径
root /www/wwwroot/你的域名;
index index.php index.html;
WordPress默认伪静态规则,无需修改
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
```
配置完成后先执行nginx -t验证配置语法是否正确,提示success后执行systemctl reload nginx生效配置。
Apache环境:编辑站点根目录的.htaccess文件,添加以下配置:
```apache
RewriteEngine On
HTTP强制跳转HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
开启SSL并配置证书路径,替换为你自己的证书路径
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/你的域名.crt
SSLCertificateKeyFile /etc/httpd/ssl/你的域名.key
SSLCertificateChainFile /etc/httpd/ssl/你的域名.ca-bundle
```
配置完成后执行systemctl reload httpd生效。

虚拟主机/面板环境:直接进入宝塔、cPanel等面板的SSL配置页面,将证书的pem、key内容粘贴到对应输入框,勾选【强制HTTPS】选项后保存即可,无需手动修改配置文件。
这类报错是站点内仍存在HTTP开头的资源(图片、CSS、JS、接口地址等),HTTPS站点加载HTTP资源会被浏览器拦截,按以下步骤修复:
第一步:执行前务必备份全站数据库,避免误操作导致数据丢失。在WordPress后台插件页面搜索安装【Better Search Replace】插件,启用后进入【工具-Better Search Replace】页面:
http://xxx.comhttps://xxx.com第二步:如果仍有个别资源未替换,可通过配置强制升级HTTP请求,Nginx环境在443的server段添加以下配置:
```nginx add_header Content-Security-Policy "upgrade-insecure-requests"; ```Apache环境在.htaccess文件添加以下配置:
```apache Header always set Content-Security-Policy "upgrade-insecure-requests" ```
零代码方案:直接搜索安装【Really Simple SSL】插件,启用后会自动完成所有混合内容修复、强制HTTPS配置,无需手动操作。
这类报错通常出现在使用CDN、反向代理的场景,WordPress无法识别当前请求是HTTPS导致,编辑站点根目录的wp-config.php文件,在/ 好了!请不要再继续编辑。请保存本文件。使用愉快! /这行之前添加以下代码:
```php
$_SERVER['HTTPS'] = 'on';
define('WP_HOME', 'https://你的域名');
define('WP_SITEURL', 'https://你的域名');
// 使用CDN/反向代理时额外添加以下两行
$_SERVER['HTTP_X_FORWARDED_PROTO'] = 'https';
$_SERVER['HTTP_X_FORWARDED_SSL'] = 'on';
```
保存文件后刷新站点即可解决重定向循环问题。
打开浏览器隐身模式访问站点,确认地址栏显示安全小锁,点击小锁可查看证书有效信息,浏览站点所有页面,确认图片、样式、交互功能全部正常,按F12打开开发者工具的Console标签,无红色混合内容报错即可。
登录WordPress后台,确认后台地址为HTTPS开头,操作发布文章、上传媒体、安装插件等功能无异常。
到百度搜索资源平台、谷歌搜索控制台提交HTTPS域名,更新站点地图,避免HTTPS切换影响收录。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图