声明:本站源码仅做学习研究,严禁用于任何商业用途以及任何变现!

云锁界面中如果没有自编译Nginx的话,上图自编译那里是灰色不可用的:则web防护不生效,但是系统防护是生效的。

也就意味着大部分功能是无法使用的,比如防CC,防SQL注入,防盗链,防端口扫描...等功能无法生效。


----------------------
PS:Nginx自编译的教程有很多,这里是微凉写的参考教程:宝塔+云锁nginx自编译web防护
----------------------

和大半年来的几次一样,虽然按上边教程自编译成功了,但是宝塔的Nginx里生成了大量错误日志,如果不能解决,用不多久服务器就扛不住了,错误日志都是下边这样的:

2022/03/29 13:28:50 [alert] 15589#0: worker process 17526 exited on signal 6
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
2022/03/29 13:29:19 [alert] 15589#0: worker process 17619 exited on signal 6
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
2022/03/29 13:29:22 [alert] 15589#0: worker process 17628 exited on signal 6
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
2022/03/29 13:30:08 [alert] 15589#0: worker process 17614 exited on signal 6
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
2022/03/29 13:30:12 [alert] 15589#0: worker process 17580 exited on signal 6

在宝塔面板中找到服务器agent端 /usr/local/yunsuo_agent/FilterKernel.xml (vi修改)

注释掉一行代码,然后替换回去即可:

原始代码:

<?xml version='1.0' encoding='utf-8'?>
<Framework product_type="yunsuo" retcode="404">
<!--PlugIn dllpath="libs/libbypass.so" RunOn_Filter=".*" RunOn_Product=".*"/-->
<!--以下为解决宝塔环境云锁Nginx模块自编译错误解决:[alert] 15589#0: worker process 17580 exited on signal 6 -->
<!--<PlugIn dllpath="libs/libperformanceMonitor.so" RunOn_Filter=".*" RunOn_Product=".*"/>-->
<PlugIn dllpath="libs/libpeer.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libipFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libmethodFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libhttpkeyFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libccFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libmultidownloadFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libbackgroundFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libbrowseprotectFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libabnormalfileFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libantistealinglink.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libsqlProtection.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libfiledownloadProtection.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libresponsecontentFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libsensitiveFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
</Framework>

修改后代码:

<?xml version='1.0' encoding='utf-8'?>
<Framework product_type="yunsuo" retcode="404">
<!--PlugIn dllpath="libs/libbypass.so" RunOn_Filter=".*" RunOn_Product=".*"/-->
<!--以下为解决宝塔环境下云锁Nginx模块自编译错误解决:[alert] 15589#0: worker process 17580 exited on signal 6 -->
<!--<PlugIn dllpath="libs/libperformanceMonitor.so" RunOn_Filter=".*" RunOn_Product=".*"/>-->
<PlugIn dllpath="libs/libpeer.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libipFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libmethodFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libhttpkeyFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libccFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libmultidownloadFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libbackgroundFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libbrowseprotectFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libabnormalfileFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libantistealinglink.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libsqlProtection.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libfiledownloadProtection.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libresponsecontentFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
<PlugIn dllpath="libs/libsensitiveFilter.so" RunOn_Filter=".*" RunOn_Product=".*"/>
</Framework>

最后重启下Nginx和Php,终于没有新的错误日志生成了!
--------------------------------------
PS:如果正常编译后启动Nginx出现如下错误:

Nginx配置规则错误:

nginx: the configuration file /www/server/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /www/server/nginx/conf/nginx.conf test failed

原因应该是之前有安装过宝塔的付费插件过期未付费导致的,重新续费或卸载后Nginx即可正常启动。