Nginx反向正向代理

什么是反向代理?作用、原理和实例详解 在现代的网络架构中,反向代理(Reverse Proxy)无处不在。无论是负载均衡、加速缓存,还是WebSocket 支持,反向代理都是必不可少的工具。 阅读详情

一、Nginx简介

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

二、Nginx特点

  1. nginx是非常优秀的反向代理服务器.
  2. 占用内存少 不到2M tomcat服务器占用多大内存 200M左右
  3. 并发(负载)能力强 3-5万次/秒
  4. tomcat服务器并发能力 250-500次/秒
  5. 调优之后可以实现1000次/秒
  6. nginx可以当作负载均衡服务器使用.

三、反向代理机制

        反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

特点:

  1. 反向代理服务器位于用户和服务器之间.
  2. 用户访问反向代理服务器,就可以获取真实的资源.
  3. 反向代理机制 用户无需了解真实的服务器信息.
  4. 反向代理保护了服务器端信息,也称之为服务器端代理

图示:

        我们直接访问RB服务器访问不到或者速度特别慢,这时我们用台湾地区的代理服务器,由代理服务器去访问RB的服务器获得资源返回给我们。

四、正向代理

        有反向代理那么就有正向代理的存在,正向代理,意思是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。

特点:

  1. 正向代理服务器位于用户和服务器之间.
  2. 用户发起请求时,非常明确自己访问的服务器到底是谁
  3. 真实的服务器不清楚真实的用户是谁.保护了用户的信息.
  4. 也称之为客户端代理.

图示:

        生活中最常用的路由器就是正向代理的体现,通过路由器访问原始目标服务器,把获取到的信息进行返回,服务器不知到用户的真实信息。

五、正向与反向

        它们之间一般都是配合使用的,不存在谁多谁少之分用户每一次请求都包含了正向代理和反向代理.

正向代理一般适用于网络的通信.

反向代理一般适用于服务器获取信息.

 六、Nginx的使用

        前面介绍完了Nginx和反向代理的知识,下面我们来实践一下!

开启:下载好后进入目录中点击nginx.exe开启Nginx服务

注意:开启速度非常快,点击即开启 

查看:进入任务管理器打开详细信息找到服务,在windows中nginx服务每次点击启动之后,都会生成2个进程项,但是在windows中nginx只能启动一次.

进程项1: nginx主要进程信息.
进程项2: nginx的守护进程 主要的任务防止主进程意外关闭.
关闭nginx 应该先关闭守护(内存小的)再关闭主进程(内存大的).

 注意:nginx默认占用80端口,开启前应释放80端口的资源

        访问本地路径出现如下页面则开启成功

Nginx命令:进入到目录下cmd执行

  1. 启动命令 start nginx
  2. 重启命令 nginx -s reload
  3. 关闭命令 nginx -s stop

注意:Nginx启动时不会报错,启动之后需要进行重启查看是否配置错误

编写配置文件(conf)

  1. nginx反向代理需要http协议支持.
  2. server 每个反向代理服务都是一个server.
  3. listen 关键字 默认监听80端口.
  4. server_name 根据指定的域名进行反向代理
  5. location 反向代理时拦截的策略 / 所有的请求
  6. root 代表反向代理的是一个目录
  7. index 默认访问的页面
 http {
	 server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
	 }
}

具体业务:

上个项目我们在点击网络地址时可以访问到我们磁盘里的图片,这就是反向代理机制

 步骤:

  1. 用户通过域名访问真实的服务器.
  2. nginx根据自身的配置进行拦截,根据配置文件将域名http://image.jt.com转化为具体的磁盘地址G盘的目录下
  3. 根据磁盘地址访问真实的服务器资源.
  4. 服务器将数据交给nginx,之后nginx将数据返回给用户.至此实现了反向代理.

进行conf配置:

    server {
		listen 80;
		server_name image.jt.com;
		location / {
			root  G:/images;
		}
	}

具体流程:

        由于用户访问的是真实的外网,而我们又没有进行域名的登记,所以现在还是访问错误,这是我们就需要在Windows操作系统自带的方便测试的hosts文件里进行配置域名与本机的映射,注:该映射只对本机有效。

hosts文件:

        地址:C:\Windows\System32\drivers\etc\hosts

        每个电脑都有,切勿随意删除   

添加映射:127.0.0.1            image.jt.com     #映射到本机IP

到这里图片可以通过输入我们设定的网址访问我们本地的磁盘并完成回显功能了

        以上业务只是简单的一个Demo,我们可以尝试把项目的所有访问本地换成网址然后用Nginx进行反向代理

Nginx实现Tomct集群部署

集群部署
upstream tomcats{
    	server 127.0.0.1:8091;
    	server 127.0.0.1:8092;
    }
配置后台服务器
     server{
    listen 80;
    server_name manage.jt.com;
    location / {
    	#代理的是一个请求路径
    	proxy_pass http://tomcats;
    	
    }
    }

Nginx负载均衡策略

1.轮询策略:tomcat服务器依次访问

    upstream tomcats {
		server 127.0.0.1:8091;
		server 127.0.0.1:8092;
	}

2.权重策略:根据权重设定,分配网络请求到不同的服务器中. 值越大访问越多.

    upstream tomcats {
		server 127.0.0.1:8091 weight=10;
		server 127.0.0.1:8092 weight=1;
	}

3.IPHASH:

        使用场景:

  1.         让用户与服务器绑定.则可以使用ip_hash策略
  2.         方便进行压力测试.
  3.         某些用户的数据保存到服务器的Session中时,需要绑定数据.
  4.         公司特殊业务场景可能用到iphash.
    upstream tomcats {
		ip_hash;
		server 127.0.0.1:8091;
		server 127.0.0.1:8092;
	}

 说明:只要访问用户的IP不变,那么他访问的永远都是同一个端口

前端打包:

        前端代码都是一些静态资源,我们可以将它们打包加入了到Nginx里,通过配置nginx.conf文件访问前端的资源。

总体业务流程图:

         用户访问前端经过hosts映射到了本机,通过nginx反向代理访问到了前端资源,前端做出操作访问nginx代理到了后端,后端有两台服务器进行使用。

Nginx到这里就讲完了,下一篇讲Linux常用命令及项目的发布。

满怀希望就会所向披靡!!!

反向代理服务器和正向代理服务器的介绍与区别 阅读详情

相关推荐

nginx正向代理反向代理,匹配规则

(2)提高访问速度:一般代理服务器都设置一个较大的硬盘缓冲区,会将部分请求的响应保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度。每个服务的权重比例,weight和访问比率成正比,==通常用于后端服务机器性能不统一,将性能好的分配权重高来发挥服务器最大性能,==如下配置后2服务的访问比率会是3服务的二倍。是Nginx负载默认的方式,所有请求都按照时间顺序分配到不同的服务上,如果服务Down掉,可以自动剔除,如下配置后轮训2服务和3服务。

孤独,平庸,落魄 1082

反向代理服务器

反向代理服务器的概念 反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。 总结特点:1反向代理是位于目标和服务器之间。 2用户不需要知道真实服务器是谁就可以获取想要的资源 3用户以为反向代理服务器就是真实的服务器 4反向代理服务器保

weixin_50443012的博客 2700

Nginx反向代理与正向代理配置

Nginx是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。主要有反向代理,负载均衡等功能。nginx newsNginx是一款免费开源的高性能 HTTP 代理服务器及反向代理服务器(Reverse Proxy)产品,它高并发性能很好,官方测试能够支撑 5 万的并发量;运行时内存和 CPU 占用率低,配置简单,容易上手,而且运行非常稳定。

悦分享 2450

一文带你读懂反向代理服务器

反向代理服务器是一种位于客户端和服务器之间的代理服务器。客户端将请求发送给反向代理服务器,反向代理服务器会根据客户端的请求信息,将请求转发给合适的后端服务器。后端服务器处理请求并将结果返回给反向代理,反向代理再将结果返回给客户端。对于客户端来说,反向代理服务器就是目标服务器。反向代理对客户端是透明的,客户端无需知道实际服务器的地址,只需将反向代理当作目标服务器一样发送请求就可以了。正向代理和反向代理在网络架构中扮演着不同的角色。正向代理主要服务于客户端,帮助其访问外部资源,而反向代理则服务于服务器。

m0_68483928的博客 2412

保姆级教程:用Ansys Workbench找出BGA焊点最容易坏的位置(附热循环+振动分析)

本文提供了一份详细的Ansys Workbench教程,指导如何通过热循环和振动分析找出BGA焊点最容易失效的位置。从模型搭建、材料定义到网格划分和载荷设置,全面解析了BGA焊点可靠性分析的全流程,帮助工程师提前预防焊点开裂问题,提升电子封装设计的可靠性。

weixin_30983965的博客 420

【Unity】制作简易三维场景

本文介绍如何制作一个三维场景

CiNian_的博客 5333

反向代理服务器: nginx

1、Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。2、Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,并在一个BSD-like协议下发行。3、由俄罗斯的程序设计师lgor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler使用。4、其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。

m0_70237997的博客 428

MTK metadata中AF模块的移除与配置调整

本文详细介绍了在MTK平台Camera开发中如何移除metadata中的AF(自动对焦)模块。通过系统清理MTK_CONTROL_AF_REGIONS、MTK_CONTROL_MAX_REGIONS等关键配置项,并调整对焦模式及硬件特性声明,确保定制化设备在禁用自动对焦功能后的稳定运行。

q1w3e5r7t9y的博客 570

Nginx的正向代理与反向代理

你好呀,我是赵兴晨,文科程序员。今天,我们将一起了解什么是Nginx的正向代理?什么是Nginx的反向代理?并实际动手实践。以下内容都是满满的干货,绝对不容错过。

趙兴晨的博客 2235

ifix5.8连接ab plc的点-通过rslinx

以ifix连接ab plc的点为例 1.先在rslinx上把plc的点导出为opc server 2.使用opc power tool 作为opc client 去连接 3.保存到项目的PDB文件夹下面,并且以节点名命名。 也可以不以节点名命名,系统自动会生成一个以节点名命名的这种文件,就显得很乱。 同时,项目的PDB目录下面必须还得拷过来一个de...

中国智造2025 4114

【Agent】多智能体框架MetaGPT入门教程

创建一个 Action 类的子类 SimpleWriteCode,子类中定义好 prompt,并解析返回结果。在 MetaGPT 中,

酒酿小圆子呀~ 3142

Nginx 反向代理和正向代理

正向代理和反向代理

yueerba126的博客 3310

Mongodb操作与Java(四)MongoTemplate的使用

MongoTemplate的使用

A乐神的博客 3438

深度详解Nginx正向代理与反向代理

它的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我,从网站的角度,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。C真实房东(服务端)只知道房子租给了B房产中介(代理),并不知道A租房人(客户端)租了自己的房子。A租房人(客户端)要租B房产中介(代理)的房。

锦年的博客 1万+

Python 爬虫实战:在房天下抓取房产信息,分析房价走势

通过本次 Python 爬虫实战,我们成功地从房天下爬取了房产信息,并进行了存储、处理、分析和可视化展示。在这个过程中,我们不仅掌握了爬虫技术的基本应用,还学会了如何对动态加载的数据进行处理和分析。然而,本次爬虫任务也存在一些局限性,例如仅爬取了部分区域的房产数据,且未对房产的图片和视频内容进行分析。在未来的工作中,我们可以进一步优化爬虫程序,爬取更多区域的房产数据,并深入分析房产的多媒体内容、用户行为模式等,为购房者和房地产从业者提供更有价值的数据支持。

u014481728的博客 1370

RML2018.01a数据集的读取与使用

基于深度学习的自动调制识别

QAQIknow的博客 1万+

Nginx 正向代理和反向代理

Nginx既可以作为正向代理,也可以作为反向代理。正向代理和反向代理的区别在于代理的对象不同。

激流丶的博客 3665

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Nginx正向代理与反向代理详解

一、介绍 实践中客户端无法直接跟服务端发起请求的时候,我们就需要代理服务。代理可以实现客户端与服务端之间的通信,我们的Nginx也可以实现相应的代理服务。代理分为正向代理和反向代理,此文就来演示一下Nginx配置正向代理和反向代理的场景。 二、正向代理和反向代理的区别 正向代理和反向代理的区别我在知乎上找到两张图可以帮助我们很好的理解: 正向代理:客户端 <一> 代理 一>服务端 正向代理简单地打个租房的比方: A(客户端)想租C(服务端)的房子,但是A(客户端)并不认识C(服务端)租

ZPeng_Yan的博客 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Nginx正向代理和反向代理

Nginx正向代理和反向代理

askf01的博客 1496

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

解释一下NGINX的反向代理和正向代理的区别?

解释一下NGINX的反向代理和正向代理的区别?

java1234的博客 1007

Nginx 正向代理与反向代理详解

代理对象:服务器(替服务器去 “接收” 客户端请求)工作原理类比反向代理就像是商场里的“导购台”你(客户端):走进商场(访问网站)的顾客,想购买某类商品(请求服务),但不知道具体哪家店铺(后端服务器)提供该商品。导购台(反向代理服务器):位于商场入口处,接收你的需求(请求),根据实时客流(服务器负载)、商品类别(URL 路径)等规则,将你引导到具体的品牌店铺(后端服务器)。品牌店铺(后端服务器集群)

2403_86763298的博客 3659

什么是nginx正向代理和反向代理?

在nginx中,正向代理指委托者是客户端,即被代理的对象是客户端在这幅图中,由于左边内网中的主机无法访问服务器,被防火墙拦住了,但是右边内网中的主机可以正常访问服务器。于是左边内网中的主机找到了一台可以连接server的nginx服务器,请它作为代理,实现自己无法访问server的功能。由于代理者是客户端,所以这个代理被称为正向代理。此时,nginx服务器对server是不可知的,server并不知道有一个nginx代理服务器,它只会把向自己发送请求的对象当作普通客户端,进行响应即可。

qq_43539664的博客 1723

nginx代理(正向代理和反向代理)

正向代理      是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端(目的是为了保护客户端用户) 配置文件: server { # 配置DNS解析IP地址,比如 Google Public DNS,以及超时时间(5秒) resolver 8.8.8.8; # 必需 resolver_timeout 5s; ...

YHJ 2万+

nginx正向代理与反向代理

客户端设备要访问局域网以外的 Internet 时,需在客户端浏览器中配置代理服务器,然后通过代理服 务器来进行访问,将访问到的局域网以外的 Internet 网站内容返回给客户端,而不是通过局域网中的。四层代理是基于tcp/ip协议层的代理转发方式,只是基于ip+端口号的形式实现代理。:当访问后端服务器,根据客户端的ip地址,使用hash算法计算出ip地址的hash值,然后再把请求发送到相应的后端服务器。处理http的请求和响应,当收到http请求之后,根据代理的方式,把http请求转发到指定的服务器。

CYL5913的博客 1225

nginx—正向代理,反向代理

Nginx(engine x) 是一个高性能的和web服务器,同时也提供了IMAP/POP3/SMTP。

初听不知曲中意,再听已是曲中人。 3879

使用Nginx实现正向代理和反向代理

正向代理和反向代理的区别。如何用Nginx实现正向代理和反向代理,并且在Nginx做代理服务器时,向后端服务器传递客户端真实IP地址。

夏至ゞ的博客 747
上一篇: 商城购物后台管理项目
下一篇: Linux的常用命令及项目的发布
希望不要秃头的0.0
博客等级 码龄6年 64粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值