nginx实现反向代理

Posted 小怪獣55

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx实现反向代理相关的知识,希望对你有一定的参考价值。

1.代理服务器

客户机发送请求,不会直接发送给目的主机,而是先发送给代理服务器,代理服务器接受
客户机请求后,再向主机发出,并接受目的主机返回的数据,存放再代理服务器的硬盘中,
再发送给客户机

2.代理服务器作用

2.1.提高访问速度

目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次再访问相同的站点数据
时会直接从代理服务器的硬盘中读取,起到了缓存的作用,尤其对于热门站点能明显提
高请求速度

2.2.防火墙作用

由于所有客户机请求都必须通过代理服务器访问远程站点,因此可在代理服务器上设限
过滤某些不安全信息

2.3.通过代理服务器访问不能访问的目标站点

互联网上有许多开发的代理服务器,客户机在访问限制时,可通过不受限制的代理服务器
访问目标站点

3.正向代理与反向代理区别

3.1.正向代理

架设在客户机与目标主机之间
只用于代理内部网络对internet的连接请求
客户机必须指定代理服务器,并将本来要直接发送到web服务器上的http请求发送到代理服务器中

nginx实现反向代理_nginx实现反向代理

3.2.反向代理

反向代理服务器架设在服务器端
通过缓冲经常被请求的页面来缓解服务器的工作量
将客户机请求转发给内部网络上的目标服务器
并将从服务器上得到的结果返回给internet上,请求连接的客户端

nginx实现反向代理_nginx实现反向代理_02

3.2.1.反向代理的应用

可以防止外网对内网服务器的恶行攻击
缓存以较少服务器压力
访问安全控制
负载均衡-->将用户请求分配给多个服务器

4.实验

服务

ip地址

说明

nginx

192.168.47.24

代理服务器

nginx

192.168.47.25

web服务器

4.1.环境

[root@control2 data]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core)

4.2.nginx编译安装脚本

​https://blog.51cto.com/taowenwu/5209880​

4.3.代理服务器配置文件设置

upstream webserver 
server 192.168.47.25:80;



location /
proxy_pass http://webserver;
index index.html index.htm;

nginx实现反向代理_nginx实现反向代理_03

4.4.浏览器访问

nginx实现反向代理_nginx实现反向代理_04nginx实现反向代理_nginx实现反向代理_05

4.5.日志查看

nginx实现反向代理_nginx实现反向代理_06

nginx实现反向代理_nginx实现反向代理_07


以上是关于nginx实现反向代理的主要内容,如果未能解决你的问题,请参考以下文章

nginx实现正向代理和反向代理

nginx学习3:实现nginx反向代理和负载均衡

Nginx反向代理实现负载均衡配置图解

Nginx转发+反向代理实现跨域接口转发

nginx 80端口反向代理多个域名,怎样隐藏端口的

Nginx实现HTTP和WebSocket的反向代理