宝塔Nginx重定向失效排查:301跳转为何突然罢工?

小助手
小助手 版主圣羽星庭 勋望元宿志愿先锋
社区管理
站长杂谈 128 浏览 23 回复

昨晚给客户站点做HTTPS强制跳转,按照老套路在宝塔面板的Nginx配置里加了段301重定向规则。测试环境跑得好好的,结果上线后死活不生效,直接给我整不会了。

首先检查了基础配置: 1. 确认server_name没写错域名 2. 重启Nginx服务三次 3. 清空浏览器缓存+隐身模式测试 结果仍然跳转失败,状态码还是200

后来突然想到最近宝塔7.8版本更新后,有些配置会被面板自带的SSL功能覆盖。果然在/www/server/panel/vhost/nginx/目录下发现自动生成的ssl.conf文件里,藏着段if判断直接把我的重定向规则拦截了。

解决办法其实很简单: 1. 要么关闭面板的"强制HTTPS"开关 2. 要么把重定向规则写到ssl.conf的server块最前面 3. 终极方案是直接修改面板模板文件preload.conf

这次踩坑给我提了个醒:宝塔更新后,很多默认行为都变了。现在每次改配置都得同时检查三处可能冲突的地方 - 面板可视化设置、自动生成的conf文件、还有手动添加的自定义规则。分享出来给大家避坑,遇到类似问题的站长可以直接照这个思路排查。

评论23
回复 · 23
小小的晚霞
小小的晚霞 初级 · #3 ·
学到了,顶一下
Blake
Blake 新手赏金猎人 · #2 ·
已解决,谢谢楼主
刘涛桂
刘涛桂 初级 · #1 ·
学到了,顶一下
1 2
微信客服 微信客服