网站地图    收藏   

主页 > 系统 > nginx >

nginx反向代理用mod_proxy实现

来源:未知    时间:2015-08-24 14:12 作者:xxadmin 阅读:

[导读] 本教程讲解nginx反向代理用mod_proxy实现 反向代理做法可以为网站安全做更高一步,像一些银行肯定是使用了反代理就是你进入代理服务器也得不到任何数据,下面我来介绍nginx用mod_pro...

本教程讲解nginx反向代理用mod_proxy实现

反向代理做法可以为网站安全做更高一步,像一些银行肯定是使用了反代理就是你进入代理服务器也得不到任何数据,下面我来介绍nginx用mod_proxy实现反向代理配置方法。

由于项目需要实现一个域名代理的功能

比如:

a.com/a.html=>b.com/b.html

也就是用a.com代理了所用b.com网站的请求,经过朋友介绍用apache的反向代理可以实现其目的,哥们试了一下,果然很爽.配置起来也超级的方便.

(注意下面只介绍反向代理,正向代理等我用到了再介绍嘿嘿)

1.启动apache的mod_proxy模块.

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

注意mod_proxy_http.so.我测试的时候没有添加这个模块怎么测试都会代理失败,后来添加了这个模块后问题消失

2.实现代理语句

ProxyPass /mirror/foo/ http://backend.example.com/

实现把当前host /mirror/foo/目录下面的请求全都分发到backend.example.com上面去.

根据我的要求:

在a.com的文件夹目录里面加上一条

ProxyPass / http://b.com/

一切ok

3.进行域名代理后要注意:

3.1:网站中的url最好都用相对路径.如果用绝对路径的话容易绕过代理,这后代理服务器后面的主机就容易暴露.

3.2:注意在引用$__Server['server_name']全局变量的时候取到的是当前server_name的域名.如果想取到代理的域名则要通过$__Server['HTTP_X_FORWARDED_FOR']取得代理域名.注:一般用于写cookie之类的操作


自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论