反向代理背后的含义-Nginx-为什么它被称为-反向 (反向代理有什么好处)
01 正向代理(ForwardProxy)
正向代理是一种位于用户设备和互联网之间的服务器。它代理的是客户端,是站在用户一方的。其真实客户端对于服务器不可见。
正向代理通常用于:
- 绕过网络限制
- 访问受限制的网站
- 保护隐私和匿名性
02 反向代理(ReverseProxy)
反向代理是一种服务器,它接受客户端的请求,将请求转发给网络服务器,然后将结果返回给客户端,就像代理服务器处理了请求一样。反向代理代理的是服务器,是和网络服务器站在一方的。其真实服务器对于客户端不可见。
这就是它叫反向的原因。
反向代理可用于:
- 负载均衡
- 缓存
- 安全性
- SSL卸载
nginx 反向代理和后端服务器获取真实 ip
nginx 反向代理是什么? 为了提高吞吐量,有些服务器是专门跑程序用的,有些服务器是跑静态资源的。 你可能访问一个网页,里面有图片,而这个图片并不是你访问的这个网页的服务器,也叫前端服务器,而是你的图片请求被 Nginx 转发到了一台后端服务器,由后端服务器提供给前端服务器再返回到客户端的。 我这台 nginx 的配置非常细致,有 ,在这个配置中包含了两个文件夹,一个是sites-available ,一个是sites-enabled , 一般用来做整个 nginx 的配置。 域名配置段在sites-avaliable 下,然后建立一个软连接到sites-enabled下去。 反向代理就写在域名配置段里,客户端通过访问服务器,服务器将请求分配按照 server 段里的则正匹配,将请求按照 fastcgi 发送到 php-fpm 通过分配再到我们的程序。 反向代理一样,也需要通过正则来捕捉到用户的请求。 (2018-12-9,现在流行的做法是将静态资源全部压缩打包,丢到cdn上去,服务器基本只做端口转发,https配置,日志,负载均衡,等很多很多功能) server 段里多加以上这一条,前端的反向代理的工作就完成了。 (当然要开启反向代理在里)以上捕捉到图片格式结尾的就将这种请求转发到服务器地址,后端服务器只要监听这个端口将 root 指向资源目录就行了。 当这一切做完后会发现,后端服务器获取到的并不是用户的 ip 地址而是前端服务器的 ip (通过 nginx 的访问日志),这是正常的。 因为本来就是前段请求的,但是可以通过proxy_set_header 段将用户的真实ip带到后端服务器去,而后端服务器需要接收传过来的这个参数。 日志的格式默认情况下是不接收这种参数的,日志格式在里面定义,默认没有定义,自己加上去就可以了。 这就是日志的格式,可以自己添加和修改,上面主要描述的是定义一个格式这个格式的名字为main。 这个格式里包含了哪些东西顺序是怎样的,定义访问成功的日志的路径,使用main格式来进行写入。 改完后,前端服务器nginx -s reload ,后端服务器nginx -s reopen 。 反向代理就是这样。 有反向代理,当然也有正向代理了,也很简单。 原文链接: nginx反向代理和后端服务器获取真实ip-服务器
关于nginx反向代理
1、要在特定位置禁用缓冲,请将proxy_buffering指令放在带有参数的位置off,如下所示:在这种情况下,NGINX仅使用proxy_buffer_size配置的缓冲区来存储响应的当前部分。反向代理的一个常见用途是提供负载平衡。
2、反向代理:客户端访问某网站的一个页面,但是网站并没有,就偷偷从另外一台服务器上取回来,然后作为自己的内容吐给用户,用户不知道真正提供服务的是谁对于浏览器来说,访问的就是同源服务器上的一个url。
3、nginx反向代理的意思:就是代理内部服务器对外进行服务的nginx代理服务。
4、修改部署目录下conf子目录的文件(如nginx-13\conf\)内容,可调整相关配置。
5、总的来说,反向代理是在提高网站的稳定性、服务效率、服务质量。我们使用nginx的反向代理服务器reverseproxyserver的功能,将其布置到多台apacheserver的前端。
免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。