当前位置:首页 > CN2资讯 > 正文内容

nginx 做反向代理获取代理网站的response

9小时前CN2资讯



Nginx反向代理服务

  • 一、代理服务器
  • 1、什么是代理服务器
  • 2 、什么是正向代理服务器
  • 3、什么是反向服务器
  • 1、具有防火墙的作用
  • 2、负载均衡
  • 2.1upstream模块
  • 2.2nginx支持的负载均衡调度算法方式如下:
  • 3、提高访问速度
  • 总结


一、代理服务器

1、什么是代理服务器

代理服务器是网络信息的中转站。一般情况下,使用网络浏览器直接去链接其它Internet站点并取得网络信息时,须送出请求信号来得到应答,然后对方再把信息传送回来。代理服务器是介于浏览器和Web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,请求信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。而且,大部分代理服务器都具有缓冲的功能,就好像一个大的Cache,它不断将新取得数据包存到它本机的存储器上,如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不重新从Web服务器取数据,而直接将存储器上的数据传送给用户的浏览器,这样就能显著提高浏览速度和效率。
代理服务器不仅可以实现提高浏览速度和效率的功能,它还可以实现网络的安全过滤、流量控制(减少Internet使用费用)、用户管理等功能,因此它既是一种网络防火墙技术,同时也可以解决许多单位连接Internet引起IP地址不足的问题。
nginx作为web服务器一个重要的功能就是反向代理,当然你也可以使用nginx配置正向代理。在了解反向代理服务器前我们先看看正向代理是咋回事。

2 、什么是正向代理服务器

举一个简单的例子:比如你在工作单位有一个局域网,这个局域网是与互联网不联通的,但你又想上QQ,或上网购卖物品,咋办呢?于是有同事偷偷给网管说好话在局域网中的一台计算机上放两个网卡一个网卡指向互联网(指向互联网的网卡要连网线哦!)另一个网卡与局域网联通,上互联网的网卡IP设置成静态IP(比如IP地址设置成为:192.168.2.200),这个IP就成为上互联网的网关,你只需要在你的适配器属性中把网关那一栏加上(192.168.12.200)就可以偷偷的上互联网了,这就是所谓的正向代理。而放两个网卡的计算机就称为正向代理计算机或叫代理服务器也可以。记得很早以前正向代理服务器很吃香那时候上国外网站都想看看外面的世界。于是乎到处搜索代理服务器。你也可以这样看正向代理:从局域网上互联网就叫正向代理反之就是反向代理。从国内上国处网站就叫正向代理你可以把国内看成一个大号的局域网就可以了。
附上百度对正向代理的解释:
正向代理:是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。

如下图一:就是正向代理拓扑图

3、什么是反向服务器

先附上百度解释:
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
现在讲解我的理解:你可以这样看反向代理服务器就是从互联网访问局域网内的某一台电脑,而这一台电脑是与局域网是联通的,它又与互联网联通。这台与互联网联通又与局域网联通的那台电脑就叫反向代理服务器。如果从局域网内部的人看这台服务器就是正向代理服务器,如果从局域网处的人看这台电脑就叫反向代理服务器。你也可以这样看淘宝、百度、京东,58同城等互联网企业就是一个局域网。你在访问这些企业的内部的一台电脑。

如下图二:就是反向代理拓扑图

二、反向代理有什么好处

1、具有防火墙的作用

如上图二所示:反向代理服务器与企业内的服务器是隔离开的。它很好的保护了企业内服务器的安全。如反向代理服务器对外的端口是80 而内部服务器的端口可以是8080或其它的什么端口,外部入侵者无法攻击内部服务器。从而保存了内部服务器的数据安全。

2、负载均衡

nginx的负载均衡设置:地址:http://nginx.org/en/docs/



打开网址会有对负载均衡详细的说明

2.1upstream模块

upstream模块主要负责负载均衡的配置,通过默认的轮询调度方式来分发请求到后端服务器

upstream模块如图三所示:


nginx反向代理不需要编译额外的模块,默认自带proxy_pass和fastcgi_pass指令,通过在location配置块中增加指令就可以实现反向代理功能。

#user nobody; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream upstream_name { server 192.168.1.20:8080 weight=5; #负载均衡轮询 server 192.168.1.30:8080; weight=5; } server { listen 80; server_name ; location / { root html; index index.html index.htm; proxy_pass http://upstream_name; #反向代理服务器的地址 } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }

上述upstream upstream_name 函数内的 192.168.1.20:8080 weight=5;
192.168.1.30:8080 weight=5; 分别是两台服务器的地址,两台服务器的内容是一样的数据
weight 是权重比。如果有10人访问反向代理服务器前五人被分配到192.168.1.20:8080后五人被分配到192.168.1.30:8080。

2.2nginx支持的负载均衡调度算法方式如下:

1、weight轮询(默认):接收到的请求按照顺序逐一分配到不同的后端服务器,即使在使用过程中,某一台后端服务器宕机,nginx会自动将该服务器剔除出队列,请求受理情况不会受到任何影响。 这种方式下,可以给不同的后端服务器设置一个权重值(weight),用于调整不同的服务器上请求的分配率;权重数据越大,被分配到请求的几率越大;该权重值,主要是针对实际工作环境中不同的后端服务器硬件配置进行调整的。
2、ip_hash:每个请求按照发起客户端的ip的hash结果进行匹配,这样的算法下一个固定ip地址的客户端总会访问到同一个后端服务器,这也在一定程度上解决了集群部署环境下session共享的问题。
3、fair:智能调整调度算法,动态的根据后端服务器的请求处理到响应的时间进行均衡分配,响应时间短处理效率高的服务器分配到请求的概率高,响应时间长处理效率低的服务器分配到的请求少;结合了前两者的优点的一种调度算法。但是需要注意的是nginx默认不支持fair算法,如果要使用这种调度算法,需要安装upstream_fair模块
4、url_hash:按照访问的url的hash结果分配请求,每个请求的url会指向后端固定的某个服务器,可以在nginx作为静态服务器的情况下提高缓存效率。同样要注意nginx默认不支持这种调度算法,要使用需要安装nginx的hash软件包

3、提高访问速度

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

总结

Nginx是由伊戈尔·赛索耶夫开发的。第一个公开版本0.1.0发布于2004年10月4日。Nginx 可以在大多数 Unix Linux OS 上编译运行,并有 Windows 移植版。 Nginx 的1.19.2稳定版已经于2020年8月11日发布。
Nginx 是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性,在连接高并发的情况下,能够支持高达 50,000 个并发连接数的响应。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/24752.html

    分享给朋友:

    “nginx 做反向代理获取代理网站的response” 的相关文章

    云桌面是什么?解锁现代工作与学习的新方式

    云桌面是一个令人兴奋的概念,尤其是在如今这个数字化迅速发展的时代。我个人认为,云桌面不仅仅是一项技术,更是一种全新的工作方式。简单来说,云桌面是一种基于云计算的桌面虚拟化解决方案。它允许用户通过互联网随时随地访问一个在云端运行的桌面环境。想象一下,不论你在咖啡馆、家中还是办公室,只需一台设备和网络连...

    RackNerd VPS服务测评:性价比高、稳定性强的主机商推荐

    在当今的网络世界中,选择合适的主机商显得尤为重要。我最近体验了RackNerd这家提供VPS服务的主机商,想和大家分享一些我的观点。RackNerd因其性价比高而广受好评,这让我在决定购买前进行了详细的测评。我会从多个角度来探讨RackNerd的各方面表现。 RackNerd不仅在价格上拥有明显优势...

    VPSCheap评测:低价VPS服务的最佳选择与性能分析

    VPSCheap的概述 我第一次听说VPSCheap的时候,是在一个热闹的VPS论坛上。这个成立于2010年的主机商,主要提供KVM型VPS服务,其特点是低价格和无限流量。从那以后,我对VPSCheap的关注逐渐加深。它的数据中心位于美国达拉斯,给不少用户带来了良好的使用体验。论坛上的用户在讨论各自...

    选择香港主机的最佳指南:提升您的网站性能与用户体验

    香港主机指的是那些在香港地区部署的服务器,主要用于提供网站托管、应用托管或数据库管理等服务。得益于香港卓越的网络基础设施,越来越多的企业和个人选择将他们的运营托付给香港主机。这不仅提升了业务的可达性,也提供了更优质的用户体验。 如果我回想起我最初接触香港主机时,感到非常惊讶于它的潜力。香港地理位置独...

    国内注册ChatGPT的安全与实用指南

    在使用ChatGPT服务时,安全与隐私保护是非常重要的。首先,我总是尽量避免在聊天或任何交流中输入敏感信息。无论是个人身份、财务信息,还是其他隐私内容,我都保持警惕,确保我的信息不会被泄露。即便是在与AI进行对话时,这种谨慎也同样必要,因为即使是最可信的平台也无法完全保障信息不被滥用。 还有一点是选...

    如何使用Windows网络诊断工具查找服务器地址和解决网络问题

    在当今这个网络无处不在的时代,能够快速诊断网络问题已变得尤为重要。作为Windows用户,我们的设备中自带了一个非常实用的工具——Windows网络诊断工具。说到这个工具,许多人可能不太了解它的具体功能和用途。 Windows网络诊断工具是一个集成在Windows操作系统中的应用,专门用于帮助用户识...