nginx反向代理什么意思

发布时间 - 2019-06-20 00:00:00    点击率:

一、背景介绍

Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

二.知识剖析

1.代理服务器

一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端。 一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或者获得目标服务器的指定资源。 Web代理(proxy)服务器是网络的中间实体。 代理位于Web客户端和Web服务器之间,扮演“中间人”的角色。HTTP的代理服务器即是Web服务器又是Web客户端。

2.正向代理

正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。

3.反向代理

反向代理 在计算机世界里,由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂拥而入时,会造成服务器忙不过来的局面,可以使用多个服务器来共同分担成千上万的用户请求,这些服务器提供相同的服务,对于用户来说,根本感觉不到任何差别。在服务器端接受客户端的请求,然后把请求分发给具体的服务器进行处理,然后再将服务器的响应结果反馈给客户端。

4.反向代理的实现

1)需要有一个负载均衡设备来分发用户请求,将用户请求分发到空闲的服务器上;

2)服务器返回自己的服务到负载均衡设备;

3)负载均衡将服务器的服务返回用户;

三.常见问题

1.正向代理和反向代理有什么区别

2.为什么使用反向代理

四.解决方案

答:1.两者的区别在于代理的对象不一样:正向代理代理的对象是客户端,反向代理代理的对象是服务端。

答:2.便于服务器分布扩展。在实际中单个服务器处理客户端请求能力有一个极限,当请求量过大,则服务器忙不过来,因此使用多个服务器来共同分担用户的请求处理,这些服务器提供相同的服务,对于用户来说没有差别。那么就需要一个负载均衡设备来分发用户的请求到空闲的服务器上,然后服务器返回结果到负载均衡设备上,负载均衡再将其返回给用户。这样当增加/移除某台服务器时,只需要修改负载均衡的服务器列表,而不会影响服务器;安全。避免ip和端口直接暴露在internet,使主机免于被开采安全漏洞,代理服务器数量有限,安全防护更方便。

五、参考文献

百度,书籍

六.更多讨论

1. 负载均衡几种算法?

答:轮询(Round Robin)法,随机(Random)法,源地址哈希(Hash)法,加权轮询(Weight Round Robin)法,加权随机(Weight Random)法,最小连接数(Least Connections)法。

2.配置里面哪个server name什么意思?

答:

Nginx中的server_name指令主要用于配置基于名称的虚拟主机,server_name指令在接到请求后的匹配顺序分别为:

1、准确的server_name匹配

2、以*通配符开始的字符串

3、以*通配符结束的字符串

4、匹配正则表达式:

3.反向代理和负载均衡有何区别?

答:反向代理是实现负载均衡的一种方法。先谈反向代理。用户在请求时,先把请求发送给代理的服务器,然后由代理服务器根据算法去请求真实的服务器,最后返回给用户。这种做法,其一是提高了安全性;其二是通过多台的real server分担了用户的请求,实现了负载均衡。再谈负载均衡。负载均衡的出现,是通过横向的扩展,尽可能地降低单台服务器的压力。常见WEB层面的负载均衡的方案有硬件F5、Nginx代理、LVS、各个云商的负载均衡服务(如AWS的ELB服务)等。负载均衡后面连的一般是实际提供服务的服务器,如通过ELB服务,可以做到流量的均匀分担,从而减少单机服务器的压力。

更多Nginx相关技术文章,请访问Nginx教程栏目进行学习!


# nginx  # 负载均衡  # 客户端  # 代理服务器  # 是一个  # 多个  # 有一个  # 再将  # 自己的  # 器上  # 又是 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么在Blade中安全地输出原始HTML内容  移动端脚本框架Hammer.js  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  如何在IIS中新建站点并解决端口绑定冲突?  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  实例解析angularjs的filter过滤器  网站制作报价单模板图片,小松挖机官方网站报价?  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何在搬瓦工VPS快速搭建网站?  Laravel怎么实现验证码(Captcha)功能  微信小程序 HTTPS报错整理常见问题及解决方案  详解Huffman编码算法之Java实现  Laravel如何使用Gate和Policy进行授权?(权限控制)  JS碰撞运动实现方法详解  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  jQuery 常见小例汇总  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  如何撰写建站申请书?关键要点有哪些?  如何在阿里云服务器自主搭建网站?  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  如何用wdcp快速搭建高效网站?  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  什么是javascript作用域_全局和局部作用域有什么区别?  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  网站制作价目表怎么做,珍爱网婚介费用多少?  如何快速生成橙子建站落地页链接?  文字头像制作网站推荐软件,醒图能自动配文字吗?  Bootstrap整体框架之CSS12栅格系统  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  如何在企业微信快速生成手机电脑官网?  如何在 Pandas 中基于一列条件计算另一列的分组均值  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  如何在万网主机上快速搭建网站?  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  实例解析Array和String方法  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】