Varnish配置异常导致站点跳转至defaultwebpage.cgi问题求助
Varnish跳转cPanel默认页问题修复方案
出现该问题的核心原因是Varnish向后端Apache转发请求的配置有误,导致Apache无法匹配到对应的虚拟主机,因此返回默认的cPanel defaultwebpage.cgi页面,可按以下步骤修复:
1. 修正Varnish后端转发配置
- 打开Varnish主配置文件,默认路径为
/etc/varnish/default.vcl - 确认后端服务配置指向本地Apache的8080端口,示例如下:
backend default { .host = "127.0.0.1"; .port = "8080"; }
- 检查
vcl_recv配置段,删除硬编码Host头的错误配置,确保转发时保留用户请求的原始Host头,示例如下:
sub vcl_recv { # 禁止将Host硬编码为localhost/固定域名 set req.http.Host = req.http.Host; # 其余原有业务配置保持不变 }
- 若你是通过cPanel官方插件安装的Varnish,无需手动修改配置文件,直接在插件设置页将后端Apache端口设置为8080即可。
2. 确认Varnish监听端口配置
- 打开Varnish启动参数配置文件:
- CentOS/Rocky Linux路径:
/etc/varnish/varnish.params - Debian/Ubuntu路径:
/etc/default/varnish
- CentOS/Rocky Linux路径:
- 确认Varnish监听端口为80,配置项示例:
VARNISH_LISTEN_PORT=80
3. 验证Apache端口分配
登录WHM管理面板,进入「Apache 配置」-「预留Apache端口」页面,确认80端口已分配给Varnish,8080端口分配给Apache。
4. 重启服务生效
依次执行以下命令重启服务:
systemctl restart varnish systemctl restart httpd
配置验证
执行命令curl -I http://my_domain.com测试,正常会返回和直接请求8080端口一致的301跳转响应,不再出现defaultwebpage.cgi跳转。
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

