Nginx的模块安装以及青龙的nginx配置

672 阅读2分钟

在给青龙加方向代理的时候,抛出如下错误:

nginx: [emerg] unknown directive "sub_filter"

一番搜索后,是缺失了http_sub_module 模块,这个模块用于过滤/替换响应及一些内容。

解决这个问题也很简单,首先,nginx -V 查看当前nginx的编译参数

[root@VM-16-14-centos ~]# nginx -V
nginx version: nginx/1.21.5
built by gcc 8.5.0 20210514 (Red Hat 8.5.0-4) (GCC) 
built with OpenSSL 1.1.1k  FIPS 25 Mar 2021
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module

进入到源码的目录

[root@VM-16-14-centos ~]# cd /home/nginx-1.21.5
[root@VM-16-14-centos nginx-1.21.5]# ./configure  --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_sub_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6
[root@VM-16-14-centos nginx-1.21.5]# make

停止nginx服务

[root@VM-16-14-centos nginx-1.21.5]# nginx -s stop

备份老的nginx脚本,并用objs目下新的脚本替换掉老版本。

[root@VM-16-14-centos nginx-1.21.5]# cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
[root@VM-16-14-centos nginx-1.21.5]# cp ./objs/nginx /usr/local/nginx/sbin/nginx

启动服务,查看新的编译参数

[root@VM-16-14-centos nginx-1.21.5]# nginx
[root@VM-16-14-centos nginx-1.21.5]# /usr/local/nginx/sbin/nginx -V
[root@VM-16-14-centos nginx-1.21.5]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.21.5
built by gcc 8.5.0 20210514 (Red Hat 8.5.0-4) (GCC) 
built with OpenSSL 1.1.1k  FIPS 25 Mar 2021
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_sub_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6

域名成功访问!

这里附上青龙域名访问的nginx配置

server {
         listen 443 ssl;
         server_name your server name; 
          #证书文件名称
         ssl_certificate your crt; 
          #私钥文件名称
         ssl_certificate_key your key; 
         ssl_session_timeout 5m;
          #请按照以下协议配置
         ssl_protocols TLSv1.2 TLSv1.3; 
          #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。 
         ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
         ssl_prefer_server_ciphers on;
         location / {
             #反向代理
            proxy_ssl_server_name on;
            proxy_pass http://ip:端口;  #修改本处ip
            proxy_set_header Accept-Encoding '';
             #过滤器模块
            sub_filter "ip:端口" "域名";  #修改本处
            sub_filter_once off;
        }
}