Nginx学习笔记06——Nginx反向代理

正向代理和反向代理

正向代理
用户和外网不能互通,通过代理服务器将用户请求发送给外网
Nginx学习笔记06——Nginx反向代理_第1张图片
反向代理
用户和nginx是互通的,用户和应用服务器是不互通的,用户发送请求到nginx,nginx作为代理将请求发送给应用服务器(如tomcat等),tomcat接受nginx的请求处理好后将结果发送给nginx,nginx将结果发送给用户
如下图,是隧道式代理(瓶颈在于nginx代理服务器,即使应用服务器的带宽很大,但是如果代理服务器的带宽很小,那么请求都会阻塞到代理服务器)
Nginx学习笔记06——Nginx反向代理_第2张图片
反向代理和正向代理的区别是代理服务器的提供方不同,对于反向代理,nginx是由服务提供方提供的,对于正向代理,代理服务器是由用户自己提供的

如何解决隧道式代理的问题呢?
DR模型:
用户发送请求到代理服务器,代理服务器正常将请求发送给应用服务器,在应用服务器处理完请求后直接将结果发送给用户,不经过代理服务器,LVS负载均衡器既可以使用DR模型,也可以使用隧道式代理模型

传统公司系统架构:
Nginx学习笔记06——Nginx反向代理_第3张图片
中小型互联网公司项目架构:
Nginx学习笔记06——Nginx反向代理_第4张图片
Nginx学习笔记06——Nginx反向代理_第5张图片

反向代理到外网和内网主机的配置

克隆两台虚拟机,后面配置代理内网主机和之后负载均衡的时候会用到(后面是对应的ip地址)
Nginx学习笔记06——Nginx反向代理_第6张图片

反向代理外网主机(以www.4399.com为例):
修改一台虚拟机(我使用的是CentOS7-1,别的也可以)的配置文件,目录为/usr/local/nginx/conf,使用proxy_pass配置外网地址,下面两行注释掉
Nginx学习笔记06——Nginx反向代理_第7张图片
重启nginx服务器
Nginx学习笔记06——Nginx反向代理_第8张图片

在浏览器中访问这台虚拟机的ip地址,发现可以代理到外网主机
Nginx学习笔记06——Nginx反向代理_第9张图片
按F12查看网络部分的第一个请求,请求的URL是虚拟机的ip地址,状态码是301,表示重定向,在响应头中可以看到重定向到了www.4399.com这个地址上
Nginx学习笔记06——Nginx反向代理_第10张图片

反向代理内网主机(CentOS7-1代理到CentOS7-2):

Nginx学习笔记06——Nginx反向代理_第11张图片
修改CentOS7-2的index.html文件
目录为/usr/local/nginx/html
Nginx学习笔记06——Nginx反向代理_第12张图片
修改CentOS7-1的配置文件,目录为/usr/local/nginx/conf,还是使用proxy_pass,这次后面是CentOS7-2的ip地址
Nginx学习笔记06——Nginx反向代理_第13张图片
重启CentOS7-1,重新加载配置文件
Nginx学习笔记06——Nginx反向代理_第14张图片
在浏览器中访问CentOS7-1的ip地址,显示的是CentOS7-2的index.html,说明成功代理到了CentOS7-2
Nginx学习笔记06——Nginx反向代理_第15张图片

你可能感兴趣的:(Nginx学习笔记,nginx,学习,服务器)