WordPress HTTPS资源加载被拦截求助:已做基础配置仍报错
解决WordPress混合内容错误的额外配置步骤
针对你遇到的HTTPS站点请求HTTP资源的问题,除已做的配置外,还需调整以下内容:
完善wp-config.php配置
由于Nginx反向代理后,后端Apache传递给WordPress的是HTTP请求,需强制WordPress识别前端HTTPS环境,在wp-config.php中添加:define('FORCE_SSL_ADMIN', true); define('FORCE_SSL_LOGIN', true); define('WP_SITEURL', 'https://whitebearexample.com/'); define('WP_HOME', 'https://whitebearexample.com/'); // 识别反向代理的HTTPS请求 if ($_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') { $_SERVER['HTTPS'] = 'on'; $_SERVER['SERVER_PORT'] = 443; }其中
WP_HOME对应数据库wp_options表的home字段,需与siteurl一致设为HTTPS地址。调整Nginx反向代理配置
在Nginx的站点配置中,确保转发请求时传递正确的协议头,让后端感知前端的HTTPS请求:location / { proxy_pass http://你的Apache地址; # 比如http://127.0.0.1:8080 proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; }添加后重启Nginx服务生效。
清理各类缓存
- 清理WordPress缓存插件(如WP Rocket、W3 Total Cache)的缓存;
- 清除浏览器本地缓存,或使用无痕模式测试;
- 若使用CDN,需刷新CDN缓存。
替换数据库中硬编码的HTTP链接
检查文章内容、元数据中是否存在手动写入的HTTP链接,可通过SQL批量替换(执行前务必备份数据库):-- 替换文章内容中的HTTP链接 UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://whitebearexample.com', 'https://whitebearexample.com'); -- 替换文章元数据中的HTTP链接 UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://whitebearexample.com', 'https://whitebearexample.com');注意将
wp_替换为你的数据库表前缀。
内容的提问来源于stack exchange,提问作者whitebear
相关产品推荐
相关产品推荐

