首页 > 系统相关 >Nginx第二讲.反向代理

Nginx第二讲.反向代理

时间:2023-05-16 09:22:36浏览次数:54  
标签:tomcat 实验 代理 192.168 Nginx 反向 服务器

原文:https://baijiahao.baidu.com/s?id=1710476405671526313&wfr=spider&for=pc

学习nginx反向代理的功能及使用方法前,先要了解什么是正向代理和反向代理,以及他们的作用,这对于接下来学习负载均衡十分必要。

 

 

一、正向代理与反向代理

 

 

1.代理服务器

 

 

代理服务器就是位于发起请求的客户端与原始服务器端之间的一台跳板服务器,正向代理可以隐藏客户端,反向代理可以隐藏原始服务器。

 

 

2.正向代理

 

 

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

 

 

如下图1所示,内部服务器Server-A需要与互联网上的服务器 Server-B通信,但是A不希望把自己的内部IP地址和源端口暴露到互联网,以免产生安全隐患。因此A通过代理服务器(设备)Proxy-C,与互联网上的服务器B进行通信。

 

 

图1-正向代理

 

 

3.反向代理

 

 

反向代理的工作原理是,代理服务器来接受客户端的网络访问连接请求,然后服务器将请求有策略的转发给网络中实际工作的业务服务器,并将从业务服务器处理的结果,返回给网络上发起连接请求的客户端。

 

 

反向代理有以下优点:

 

 

(1)提高了内部服务器的安全;

 

 

(2)加快了对内部服务器的访问速度;

 

 

(3)节约了有限的IP资源。

 

 

如下图2所示,客户端Client-A想要访问www.tonglaoban.com,访问请求通过地址解析后,发送到IP地址为1.1.1.1:80的代理服务器,通过代理服务器的正向代理以及负载均衡功能,最终的访问请求通过轮询(暂时只讨论轮询的负载均衡)的方式分发到Server-A、Server-B、Server-C。

 

 

图2-反向代理

 

 

二、实验环境

 

 

图3-实验环境

 

 

三、配置实例

 

 

1.实例1--反向代理基本配置

 

 

1.实现效果

 

 

打开浏览器,输入www.tonglaoban.com,通过nginx代理服务器(192.168.116.11)的80端口,跳转到真是tomcat服务器(192.168.116.12)的8080端口。

 

 

2.准备工作

 

 

(1)在linux系统中安装tomcat服务,使用默认端口8080。

 

 

(2)安装tomcat之前需要检查linux服务器的java环境。

 

 

图4-实验过程

 

 

如服务器没有安装java环境,需要先安装,本次以通过yum源安装的方式作为示例,该安装方式可以直接将其他依赖文件一并安装:

 

 

图5-实验过程

 

 

安装成功后,再次查看java版本:

 

 

图6-实验过程

 

 

(3)安装tomcat,Tomcat安装文件放到linux系统中,解压/usr/src/apache-tomcat。

 

 

图7-实验过程

 

 

(4)进入tomcat的bin目录中,./start.sh启动,进入log目录中,查看日志。

 

 

图8-实验过程

 

 

(5)打开网页查看状态http://192.168.116.13:8080/

 

 

图9-实验过程

 

 

3.反向代理配置

 

 

(1)配置域名解析

 

 

(2)在以下路径C:\Windows\System32\drivers\etc找到host文件,并增加内容:

 

 

(3)192.168.116.11 www.tonglaoban.com

 

 

(4)在nginx进行请求转发的配置(反向代理配置),配置文件在/usr/local/nginx/conf,编辑nginx.conf:

 

 

图10-实验过程

 

 

修改配置文件,并保存好,切记要重启nginx服务。

 

 

图11-实验过程

 

 

结果如下:

 

 

图12-实验过程

 

 

(5)如果希望更直观的看到测试效果,可以在tomcat服务器增加测试页面,在/usr/src/apache-tomcat-7.0.70/webapps路径中,新建test112文件夹,文件夹中新建test112.html文件:

 

 

图13-实验过程

 

 

效果如下:

 

 

图14-实验过程

 

 

2.实例2--根据不同uri分配到不同服务器

 

 

1.实现效果:

 

 

根据不同uri分配到不同服务器(或端口),监听9001端口

 

 

http://192.168.116.11:9001/8080分配到192.168.116.12:8080

 

 

http://192.168.116.11:9001/8081分配到192.168.116.13:8081

 

 

2.准备工作

 

 

(1)准备两个tomcat服务器,一个8080端口,一个8081端口。

 

 

在/usr/src/apache-tomcat-7.0.70/conf路径,编辑server.xml文件:

 

 

图15-实验过程

 

 

新建test文件夹,文件夹中新建test.html文件,如实例1填写IP地址。

 

 

图16-实验过程

 

 

3.配置nginx代理服务

 

 

对外监听端口为9001,根据不同uri,分配到不同应用tomcat服务器。

 

 

http://192.168.116.11:9001/8080分配到192.168.116.12:8080

 

 

http://192.168.116.11:9001/8081分配到192.168.116.13:8081

 

 

在nginx配置文件中,新建server块配置如下:

 

 

图17-实验过程

 

 

重启nginx服务。

 

 

图18-实验过程

 

 

4.测试结果

 

 

访问http://192.168.116.11:9001/8080/test.html

 

 

图19-实验过程

 

 

访问http://192.168.116.11:9001/8081/test.html

 

 

图20-实验过程

 

标签:tomcat,实验,代理,192.168,Nginx,反向,服务器
From: https://www.cnblogs.com/bruce1992/p/17403816.html

相关文章

  • 7个很有特点的HTTP代理服务器
    HTTP代理服务器1.Privoxy-网页过滤、系统支持性好Privoxy是一款不进行网页缓存且自带过滤功能的代理服务器,针对HTTP、HTTPS协议。通过其过滤功能,用户可以保护隐私、对网页内容进行过滤、管理Cookie。可以在Linux、MicrosoftWindows、MacOS、AmigaOS、BeOS以及大多数类Unix......
  • 5、Nginx 常见模块 auth_basic:实现账户认证功能
    Nginx账户认证功能由ngx_http_auth_basic_module模块提供此功能官方帮助:http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html语法格式:Syntax: auth_basic_user_filefile;Default: —Context: http,server,location,limit_except范例:authbasic提......
  • ADUC834BSZ-ASEMI代理亚德诺ADUC834BSZ原厂芯片
    编辑-ZADUC834BSZ特征:2个独立ADC(16位和24位分辨率)24位无缺失代码,主ADC21位rms(18.5位p-p)有效分辨率@20Hz偏移漂移10nV/C,增益漂移0.5ppm/C62KB片上闪存/EE程序存储器4KB片上闪存/EE数据存储器闪光/EE,100年保留,100公里循环耐久性3级闪存/EE程序内存安全2304字节片上数......
  • ASEMI代理ADI亚德诺ADP5054ACPZ-R7供电管理芯片介绍
    编辑-Z本文主要介绍ADP5054ACPZ-R7供电管理芯片的基本特性和应用场景。该芯片支持多路输出,具有高效和可靠性的特点,适用于各种电力系统和工业控制设备。 1、ADP5054ACPZ-R7的基本特性ADP5054ACPZ-R7是一款高度集成的供电管理芯片,具有以下特点: (1)支持6路输出,分别为1.8V、2.5V......
  • 基于反向神经网络BP的多维输入单维输出的回归预测建模,该模型同时带有paper中的常用的
    基于反向神经网络BP的多维输入单维输出的回归预测建模,该模型同时带有paper中的常用的模型评价指标,可以直接拿来替换数据做分析,同时各种指标都可以输出,方便记录,如果不会替换数据,可以帮忙替换数据。ID:9730666506696657......
  • Nginx编译安装
    1.进入安装目录:#cd/usr/local/src2、下载nginx源码文件nginx网址:http://nginx.org/en/download.html 3、复制文件下载地址:http://nginx.org/download/nginx-1.22.1.tar.gz4、开始下载:#wget http://nginx.org/download/nginx-1.22.1.tar.gz 5、解压#tar-zxvf nginx......
  • nacos 使用nginx做负载均衡
    nacos要使用nginx做负载均衡需要使用到stream模块,如果编译nginx的时候没有添加stream模块的,建议重新编译(否则改一个出现N个错误)编译命令:./configure--prefix=/usr/local/nginx--with-streamnginx.conf配置:stream与http同级  upstream与http下的server同级 ......
  • nginx 正则路径匹配
    Nginx路径匹配符号=表示精确匹配^~表示uri以某个常规字符串开头,大多情况下用来匹配url路径,nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~/static//aa匹配到(注意是空格)。~正则匹配(区分大小写)~*正则匹配(不区分大小写)!~区分大小写不匹配!~*不区分大小写不匹......
  • ASEMI代理LTC6992IS6-1#TRMPBF原装ADI车规级LTC6992IS6-1#TRMPBF
    编辑:llASEMI代理LTC6992IS6-1#TRMPBF原装ADI车规级LTC6992IS6-1#TRMPBF型号:LTC6992IS6-1#TRMPBF品牌:ADI/亚德诺封装:TSOT-23-6批号:2023+引脚数量:6工作温度:-55°C~125°C安装类型:表面贴装型LTC6992IS6-1#TRMPBF汽车芯片LTC6992IS6-1#TRMPBF特性脉宽调制(PWM)由控制简单的......
  • Python爬虫代理使用完整代码
    使用代理可以带来以下好处:1.隐藏真实IP地址:使用代理可以隐藏你的真实IP地址,从而保护你的隐私和安全。2.防止封禁:有些网站会限制同一IP地址的访问频率,使用代理可以避免被封禁。3.提高访问速度:使用代理可以让你的请求从代理服务器发出,从而减轻本地网络负担,提高访问速度。4.......