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

WordPress基于Apache+Varnish架构下HTTP跳转HTTPS失效问题求助

问题排查与修复方案

1. 修复VCL配置的语法与逻辑缺陷

你当前的VCL配置存在两处核心问题:vcl_recv 子程序未闭合大括号,且未向Apache传递客户端请求的协议头,导致后端无法正确判断请求是否为HTTPS。
直接替换为以下完整VCL配置:

vcl 4.0;

backend default {
    .host = "127.0.0.1";
    .port = "8181";
}

sub vcl_recv {
    # 传递请求协议头给Apache
    if (req.http.X-Forwarded-Proto !~ "^https?$") {
        set req.http.X-Forwarded-Proto = "http";
        if (req.http.HTTPS == "on") {
            set req.http.X-Forwarded-Proto = "https";
        }
    }

    # 后台、登录页跳过缓存
    if (req.url ~ "wp-admin|wp-login") {
        return (pass);
    }
}

sub vcl_backend_response {
    # 保留原有逻辑即可
}

sub vcl_deliver {
    # 保留原有逻辑即可
}

修改完成后执行 varnishd -C -f /etc/varnish/default.vcl 校验语法,确认无报错后重载Varnish服务。

2. 修复wp-config.php逻辑冲突

你当前wp-config中的HTTPS赋值逻辑存在重复定义问题,直接替换为以下内容即可:

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
    $_SERVER['HTTPS'] = 'on';
    $_SERVER['SERVER_PORT'] = 443;
}
define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );

3. 优化.htaccess跳转规则

调整跳转判断逻辑避免循环,确保跳转规则放在WordPress默认规则之前,完整配置如下:

SetEnvIf X-Forwarded-Proto "https" HTTPS=on
Header append Vary: X-Forwarded-Proto

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP:X-Forwarded-Proto} !https [NC]
  RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

确认Apache已启用rewrite、headers、setenvif模块,可执行a2enmod rewrite headers setenvif开启后重载Apache服务。

4. 生效验证

  • 清空Varnish缓存:varnishadm ban req.url "~" /
  • 清空本地浏览器缓存,或用curl命令测试:curl -I http://example.com,确认返回301跳转至HTTPS地址,无循环跳转问题,HTTPS地址访问正常。

内容的提问来源于stack exchange,提问作者Rahul Biswas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 16:36:03