宝塔Nginx重定向失效排查:301跳转为何突然罢工?
昨晚给客户站点做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文件、还有手动添加的自定义规则。分享出来给大家避坑,遇到类似问题的站长可以直接照这个思路排查。
最新打赏

