宝塔 nginx 丢失反代配置文件问题
今天,博主准备反代一个站点,但是打开宝塔反代配置发现以下问题:
![](https://rmb.ee/wp-content/uploads/2022/05/6bc7cb44-7793-1b4b-d6ab-b9aa72357b31.png)
提示文件不存在,可以看到 /www/server/panel/vhost//proxy/xxx
这里缺失了一个子路径,从 /www/server/panel/vhost/
下可以知道,这里应该是 nginx
。
从宝塔面板源码中,找到以下方法,发现是 get.webserver
这个参数出了问题:
![](https://rmb.ee/wp-content/uploads/2022/05/d2b5ca33-bd97-0f64-a630-1fa75ae2eb22.png)
于是,继续查找 GetProxyFile()
这个方法,发现这个参数是在 cookie 中获取的
![](https://rmb.ee/wp-content/uploads/2022/05/2cbdc84c-22bb-df80-ef55-3a814462f1b9.png)
先来查看正常运行的宝塔面板 cookies,可以找到 serverType
这个字段
![](https://rmb.ee/wp-content/uploads/2022/05/27f0ad5e-154f-134a-4de9-b202486b9869.png)
再来看看,出现问题的宝塔面板 cookies
![](https://rmb.ee/wp-content/uploads/2022/05/d2b5ca33-bd97-0f64-a630-1fa75ae2eb22-2.png)
可以看到,这里找不到 serverType
这个 cookie 了,证明是宝塔面板在 set_cookie
的时候出现了问题,但具体原因未知,测试在无痕 chrome 下又可以正常找到反代配置文件。