在给青龙加方向代理的时候,抛出如下错误:
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;
}
}