宝塔Linux面板Bug修复:添加反向代理出错
起因由于工作需要在宝塔面板中创建一个反向代理的站点结果每次都报错:向宝塔论天提交了Bug结果两天了还在审核中。由于急用因此不等官方修复了自己动手修复故障原因从报错信息可以看到nginx 配置是正确的nginx: the configuration file /www/server/nginx/conf/nginx.conf syntax is ok但是有问题nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)nginx: configuration file /www/server/nginx/conf/nginx.conf test failed其实就是系统每启用IPv6, nginx 测试配置文件时发现了错误。当然宝塔面板及时清理了垃圾恢复到了原来的nginx培训。在我的Linux服务器上我把IPv6关掉的因此nginx不会加载IPv6相关配置。解决方法1、启用IPv6不符合我的意图。2、修改宝塔面板彻底解决问题。启用日式输出启用宝塔面板的“开发者模式”这样宝塔才会输出日志。接下来在你的电脑上通过ssh登录到宝塔面板服务器上执行如下命令tail-f/www/server/panel/logs/error.log这样可以监视最新的宝塔日志。只要不强行结束会随着宝塔面板日志输出而滚动输出。获取Api路径在宝塔面板的“添加反向代理”页面按F12打开浏览器的“开发人员工具”切换到“网络”标签再次创建一个反向代理提交这里出现一条提交记录mod/proxy/com/create就是我们要找的Api路径使用VSCode登录服务器首先在VS中需要添加一个扩展插件Remote - SSH安装完毕后VS边框上出现这样一个图标通过它可以使用VS登录到Linux服务器用SSH登录服务器这里填入 ssh root服务器地址SSH配置随便选一个如果没有的话创建一个内容如下Host192.168.240.165 HostName192.168.240.165 User root连接服务器接下来会打开一个新VSCode窗口要求输入服务器密码达开文件夹输入路径如果还需要密码那就再输入一次。编辑宝塔面板源码前面我们找到的路径是mod/proxy/com/create接下来一次展开目录mod/project/proxy打开comMod.pyCtrlF在这个文件中查找“create(”聚焦到这里并添加一句代码验证找到的是不是正确再次提交反向代理创建的请求在回看日志框确实输出了“test”字样也就是我们找的位置是正确的。在前面Web页面中输出的错误信息中ERROR: 检测到配置文件有错误,请先排除后再操作继续使用CtrlF查找一共找到了4个依此标记1、2、3、4再次提交请求返回错误如下接下来重点关注 2 上面的 write_nginx_conf 函数修改 write_nginx_conf函数CtrlF 查询 “write_nginx_conf”定位到函数位置iflen(get.port_list)1:ipv4_port_confipv6_port_confforpinget.port_list:ipv4_port_confself._init_proxy_conf[ipv4_port_conf].format(listen_portp)\n ipv6_port_confself._init_proxy_conf[ipv6_port_conf].format(listen_portp)\n else:ipv4_port_confself._init_proxy_conf[ipv4_port_conf].format(listen_portget.port_list[0])ipv6_port_confself._init_proxy_conf[ipv6_port_conf].format(listen_portget.port_list[0])port_confipv4_port_conf\nipv6_port_conf这个地方的代码确实有些问题不能直接把ipv6_port_conf相关代码注释掉否则在执行“port_conf ipv4_port_conf “\n” ipv6_port_conf”时报错ipv6_port_conf 未定义。比较简单的方式是这样的port_confipv4_port_conf\n# ipv6_port_conf就是在加号前面加一个#号把后面的注释掉即可。到这里就完成了你的宝塔面板创建反向代理的时候就不再报错了。后续在这里可以加一句代码把内容输出来视频课程宝塔Linux面板入门【人人都能上手的服务器运维面板】https://www.bilibili.com/cheese/play/ss22181
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2479679.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!