如何开启Nginx的兼容模块

防入侵系统-网站防护采用模块化设计,兼容当前主流的各类WebServer(中间件)。

适配:IIS、Apache、Nginx、OpenResty、Tengine

特别注意的是Nginx、OpenResty、Tengine需要开启兼容模块:--with-compat


如提示如下图,则说明当前环境并没有启用--with-compat


在处理前请务必备份网站配置文件及Nginx、OpenResty、Tengine主配置文件。


1、使用主机大师

网站环境使用护卫神·主机大师,默认已开启--with-compat,无须再开启。


2、使用宝塔面板(V8.0.5或以上版本,如是旧版本,请查看方法3)

2.1、在业务不繁忙时,登录宝塔面板,找到“软件商店”-“运行环境,找到对应的Nginx版本,点击“卸载如是新安装请忽略此步,直接查看2.2

1.jpg



2.2、卸载完成后,重新安装Nginx,选择对应版本,点击“编译安装”,如下图3

2.jpg



点击“添加自定义模块

3.jpg


接下来就按要求填写信息:

模块名称:compat

模块描述:compat

模块参数:--with-compat

前置脚本:无须填写

以上参数填写完后点击“提交

4.jpg



“勾选 compat,点击“提交并安装

5.jpg


选择“启用”,然后等待安装完成即可。

6.png



3、使用宝塔面板(旧版本)

3.1、在业务不繁忙时,登录宝塔面板,找到“软件商店”-“运行环境”,找到对应的Nginx版本,点击“卸载”,如下图

1.jpg



3.2、重新安装Nginx,并选择对应的版本,如下图

2.jpg


安装方式务必选择“编译安装,然后点击“添加自定义模块

3.jpg


接下来就按要求填写信息

模块名称:compat

模块描述:compat

模块参数:--with-compat

前置脚本:无须填写

以上参数填写完后点击“提交

4.jpg


勾选 compat,点击“提交”,等待安装完成即可

5.jpg


4、使用其他方式

网站环境使用其它方式安装,如有面板管理,可联系技术员处理,非面板管理可参考以下脚本编译方法处理。

此方法只是重新编译nginx可的可执行文件及附带的so文件,因此只需要使用新编译好的nginx可执行文件及so文件替换旧的即可,替换后需要重启nginx服务。

如有疑问可联系我们帮您处理。

!#/usr/bin/env bash

# 创建临时目录
mkdir -p /tmp/nginx;TEMP=/tmp/nginx;cd ${TEMP}
# 获取nginx主进程的PID
NGINXPID=$(ps aux | grep 'nginx' | grep 'master'|awk '{print $2}')
# 获取nginx可执行文件的位置(绝对路径)
NGINXPATH=$(readlink /proc/${NGINXPID}/exe)
# 获取nginx 的版本号
NGINXVER=$(${NGINXPATH} -v 2>&1 | awk -F'/' '{print $NF}')
# 获取nginx的编译参数
NGINXARG=$(${NGINXPATH} -V 2>&1 | grep 'prefix' | awk -F':' '{print $2}')
# 下载对应版本的源码、解压并进入源码目录
wget https://nginx.org/download/nginx-${NGINXVER}.tar.gz && tar -xf nginx-${NGINXVER}.tar.gz && cd nginx-${NGINXVER}
./configure ${NGINXARG} --with-compat && make
# 备份nginx可执行文件
if ! -f ./objs/nginx;then
    echo 'Compile Error'
    exit 2
else
    cp -f ./objs/nginx ${NGINXPATH}
fi
#if ${NGINXPATH} -s reload;then
kill -HUP ${NGINXPID}
echo 'Installing Nginx Finished'
if
if ${NGINXPATH} -V 2>&1 | grep 'with-compat' | awk -F':' '{print $NF}' | awk '{print $NF}'
    echo 'With-compat Enabled'
fi


如您在操作时遇到困难可联系在线客服协助你解决。

<< “内核异常”怎么解决?