nginx安装扩展 sub_filter&http_ssl_module

nginx之所以轻,因为默认没有安装各种各样的扩展;

nginx安装扩展插件:

下面列出两个可能会用到的插件

一、sub_filter内容过滤器,这个在nginx做http转发的时候会很常用

1.下载插件>git clone git://github.com/yaoweibin/ngx_http_substitutions_filter_module.git

2.安装插件

**如果你还没有安装nginx的,配置的时候./configure .....  加上 --add-module=/tmp/ngx_http_substitutions_filter_module 这段话进行配置;

**如果你已经安装了nginx的,找到你的nginx源安装目录如

>cd nginx-1.11.0  //进入nginx安装目录

>./configure --prefix=/usr/local/nginx  --add-module=/tmp/cyq/ngx_http_substitutions_filter_module //prefix指定你安装好的nginx目录,add-module指定你下载的sub_filter插件目录

>make  //这边注意了,不要make install,只需要make编译一下,然后在当前目录的./objs/下面就会更新nginx启动文件

 

>mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_old   //先pkill -9 nginx 停止nginx服务

>cp ./objs/nginx /usr/local/nginx/sbin/nginx   //把编译生成的文件放到你的nginx启动目录里面

>/usr/local/nginx/sbin/nginx   //启动nginx就行了

3.打开自己的网站,内容是 this is php in 192.168.199.167

在对应的nginx.conf 文件中,添加需要进行过滤的数据内容

vi nginx.conf

 将this is 改为 my name is

 是不是很强大呢?毕竟nginx是属于第七层应用层领域的,所以转发的内容可以随意修改;这个插件可以用于建设小偷网站,就是域名是自己的,但是你转发到其他网站的时候,里面很多数据都暴露了网站内容属于其他人的

这个时候你就可以使用sub_filter来做内容过滤了!哈哈哈哈!

二、nginx无法转发到https网站

会报以下错误:

nginx: [emerg] https protocol requires SSL support in xx/xxx/xx/

这个很简单,不过网上说什么缺少ssl模块啦,还要安装证书啦,巴拉巴拉一大堆。(这些只是针对网站需要证书验证访问才需要的)

一般的访问https失败,只是因为nginx没有安装两个模块http_ssl_module和http_stub_status_module 

解决步骤:

1.进入nginx安装目录

>cd /xx/nginx-1.11.0

>./configure --with-http_stub_status_module --with-http_ssl_module

>make

>cp ./objs/nginx /usr/local/nginx/sbin/nginx   //先停止nginx,然后吧nginx覆盖掉

>/usr/local/nginx/sbin/nginx //再次启动nginx就可以了

原文地址:https://www.cnblogs.com/cyq632694540/p/7132778.html