2014-01-11 09:30:01
来 源
ITJS.CN
Nginx
本文介绍Nginx配置反向代理实现小偷,希望对于初学Nginx服务器相关的朋友有帮助,更多Nginx安装、配置、报错处理等资源请本站内搜索。。

四师兄曾经转载过一篇《Nginx如何反向代理并替换URL》,尽管没有去偷别人站点的内容,但基本过程已然实现。昨天有人问公乘,如何在军哥lnmp一键包的基础上按照那个教程,利用nginx的反代实现小偷功能,公乘在这里简单写一下思路。

安装一些预备软件

yum -y --noplugins install wget zip

yum -y --noplugins install unzip

yum -y --noplugins install gcc

yum -y --noplugins install make

yum -y --noplugins install pcre-devel

yum -y --noplugins install openssl-devel

yum -y install subversion

下载软件

wget -c http://www.nginx.org/download/nginx-1.0.8.tar.gz

wget -c http://wiki.nginx.org/images/5/51/Nginx-accesskey-2.0.3.tar.gz

svn checkout http://substitutions4nginx.googlecode.com/svn/trunk/ substitutions4nginx-read-only

编译软件

tar -zxf Nginx-accesskey-2.0.3.tar.gz

tar zxf nginx-1.0.8.tar.gz

cd nginx-1.0.8

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-ipv6  --with-http_gzip_static_module --with-ipv6 --with-pcre --with-http_sub_module --add-module=/root/substitutions4nginx-read-only --add-module=/root/nginx-accesskey-2.0.3

如果编译没有错误,然后执行:make 但不要make install

编译完,在objs目录下有一个nginx执 行文件,先备份下原来老的nginx文件,执行:mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old ,再把新objs下的nginx cp到sbin下,执行:cp objs/nginx /usr/local/nginx/sbin/nginx

执行 /usr/local/nginx/sbin/nginx -t 测试下,显示没有问题

再执行:make upgrade

执行:/usr/local/nginx/sbin/nginx -V 看一下,模块已经编译进去了。

Nginx添加上模块,需要执行:killall nginx 再执行:/usr/local/nginx/sbin/nginx 不能用平滑重启。

nginx在 /usr/local/nginx 下面

配置 nginx.conf

server

{

listen 80;

server_name t.ldomain.com; #绑定的域名

root /home/www/html; #网站目录(搭配lnamp的时候有用处!)

access_log off; #off 关闭日志

location / {

subs_filter '百度一下,你就知道' '四师兄' gi; #substitutions4nginx替换 (使用方法参照官方)

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Referer http://www.baidu.com; #强制定义Referer,程序验证判断会用到

proxy_set_header Host www.baidu.com; #定义主机头,如果目标站点绑定的域名个server_name项的吻合则使用$host

proxy_pass http://127.0.0.1; #指定目标,建议使用IP或者nginx自定义池

proxy_set_header Accept-Encoding ""; #清除编码

}}

或者

server_name www.173silk.com;

location / {

subs_filter ca-pub-对方gg用户 ca-pub-替换成你的;

subs_filter 6121088089 612108343455;

//把google ad 的广告号 6121088089 改成你自己的,你懂的!:D

proxy_pass http://kangxiaowei.com; //反向本站为例。

ndex index.html index.htm;

}

记住subs_filter 命令的格式,你想替换设么就随你了。

另外, 反向代理的个数是不限制的。只要你掌握了规则,一个网站下可以包含n多个网站的镜像。 一个nginx 上也可以跑 n多个网站。就看你自己怎么运用了。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。