nginx实现反向代理实战

nginx实现反向代理实战

什么是反向代理

反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

有反向代理,当然也存在正向代理的概念咯。正向代理指的是,一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。

nginx实现反向代理实战

为什么要使用反向代理

  • 可以起到保护网站安全的作用,因为任何来自Internet的请求都必须先经过代理服务器。

  • 通过缓存静态资源,加速Web请求。

  • 实现负载均衡。顺便说下,目前市面上,主流的负载均衡方案,硬件设备有F5,软件方案有四层负载均衡的LVS,七层负载均衡的Nginx、Haproxy等。

配置方法

环境:我用vm创建了三台虚拟机,ip为147搭配的是lamp环境,将它作为被代理服务器;ip为160搭配的是lanmp环境,将它也作为被代理服务器;ip为167搭配的是lnmp环境,将它作为nginx反向代理服务器。

1,配置好147的环境,使能访问自己的简单页面,我用的一键安装包,路径可能不一样

nginx实现反向代理实战

2,配置160的环境,也能访问简单的页面

nginx实现反向代理实战

3,配置负载均衡服务器167

#新建一个www.test.com虚拟主机

#vi /etc/hosts

nginx实现反向代理实战

配置nginx配置文件

nginx实现反向代理实战

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。

相关推荐