nginx实现反向代理实战
什么是反向代理
反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
有反向代理,当然也存在正向代理的概念咯。正向代理指的是,一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。
为什么要使用反向代理
可以起到保护网站安全的作用,因为任何来自Internet的请求都必须先经过代理服务器。
通过缓存静态资源,加速Web请求。
实现负载均衡。顺便说下,目前市面上,主流的负载均衡方案,硬件设备有F5,软件方案有四层负载均衡的LVS,七层负载均衡的Nginx、Haproxy等。
配置方法
环境:我用vm创建了三台虚拟机,ip为147搭配的是lamp环境,将它作为被代理服务器;ip为160搭配的是lanmp环境,将它也作为被代理服务器;ip为167搭配的是lnmp环境,将它作为nginx反向代理服务器。
1,配置好147的环境,使能访问自己的简单页面,我用的一键安装包,路径可能不一样
2,配置160的环境,也能访问简单的页面
3,配置负载均衡服务器167
#新建一个www.test.com虚拟主机
#vi /etc/hosts
配置nginx配置文件
重启nginx
测试:
[root@localhost share]# curl www.test.com
这是147的index.php页面。路径:/home/wwwroot。
[root@localhost share]# curl www.test.com
这是160的index.php页面。路径:/home/wwwroot。
[root@localhost share]# curl www.test.com
这是147的index.php页面。路径:/home/wwwroot。