You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress Docker容器HTTPS下静态文件无法加载问题求助

解决WordPress Docker静态资源HTTP加载问题

这问题我之前帮朋友排查过几乎一模一样的情况,核心原因很明确:你的WordPress容器内部还在以HTTP协议生成静态资源的链接,虽然Apache的80→443重定向对单独的静态资源请求有效,但浏览器加载HTTPS页面时,会直接拦截页面里的HTTP资源请求(现代浏览器的混合内容安全策略),根本不会触发重定向。

下面是具体的解决步骤,按顺序操作就能搞定:

1. 给WordPress容器强制设置HTTPS站点地址

在你的docker-compose.yml里,给wordpress服务的environment添加两个关键变量,直接指定WP的站点和首页URL为HTTPS:

wordpress:
  # 其他配置不变...
  environment:
    WORDPRESS_DB_HOST: wpdb:3306
    WORDPRESS_DB_USER: wordpres_admin
    WORDPRESS_DB_PASSWORD: pass
    # 新增以下两行
    WORDPRESS_SITEURL: https://example.com
    WORDPRESS_HOME: https://example.com

修改后重启容器:docker-compose up -d

2. 让Apache告诉WordPress当前是HTTPS请求

在你的443端口VirtualHost配置里,添加请求头传递,让WP知道前端是通过HTTPS访问的:

<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName example.com
ProxyPreserveHost On
# 新增以下两行
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"

ProxyPass / http://172.20.0.100/
ProxyPassReverse / http://172.20.0.100/
SSLEngine on
SSLCertificateFile /fullchain.pem
SSLCertificateKeyFile /privkey.pem
</VirtualHost>
</IfModule>

然后启用mod_headers模块并重启Apache:

a2enmod headers
systemctl restart apache2

这一步是关键——WP默认会根据容器内部的协议(HTTP)生成链接,通过传递X-Forwarded-Proto头,能让WP识别到外部是HTTPS请求,从而生成正确的HTTPS资源链接。

3. 兜底:修改wp-config.php强制HTTPS(可选)

如果前两步还没解决,可以进入WordPress容器修改wp-config.php,添加以下代码确保WP强制使用HTTPS:

# 进入容器
docker exec -it [你的wordpress容器名] bash
# 编辑wp-config.php(用vi或者nano)
nano /var/www/html/wp-config.php

添加内容:

// 识别反向代理的HTTPS请求
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}
// 强制后台使用HTTPS
define('FORCE_SSL_ADMIN', true);

保存后退出容器,刷新页面就能看到静态资源正常加载了。

补充说明为什么单独访问静态资源有效

当你直接访问http://example.com/wp-admin/css/install.min.css?ver=5.2.2时,这是一个独立的HTTP请求,Apache的重定向规则会把它转到HTTPS,浏览器会正常处理这个跳转;但当HTTPS页面里嵌入HTTP资源链接时,浏览器的混合内容安全策略会直接阻止加载,不会触发重定向——这就是你看到的矛盾现象的原因。

内容的提问来源于stack exchange,提问作者Andrei Krestyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:23:53