欢迎光临
我们一直在努力

nginx反向代理的作用,nginx反向代理服务器

nginx反向代理 1.正向代理与反向代理的概念nginx反向代理一对一的反向代理反向代理(访问不同路径,转发至不同的tomcat)location指令说明

1.正向代理与反向代理的概念

正向代理:客户端想要访问一个服务器,但是它可能无法直接访问这台服务器,这时候这可找一台可以访问目标服务器的另外一台服务器,而这台服务器就被当做是代理人的角色 ,称之为代理服务器,于是客户端把请求发给代理服务器,由代理服务器获得目标服务器的数据并返回给客户端。客户端是清楚目标服务器的地址的,而目标服务器是不清楚来自客户端,它只知道来自哪个代理服务器,所以正向代理可以屏蔽或隐藏客户端的信息。

反向代理:从上面的正向代理,你会大概知道代理服务器是为客户端作代理人,它是站在客户端这边的。其实反向代理就是代理服务器为服务器作代理人,站在服务器这边,它就是对外屏蔽了服务器的信息,常用的场景就是多台服务器分布式部署,像一些大的网站,由于访问人数很多,就需要多台服务器来解决人数多的问题,这时这些服务器就由一个反向代理服务器来代理,客户端发来请求,先由反向代理服务器,然后按一定的规则分发到明确的服务器,而客户端不知道是哪台服务器。常常用nginx来作反向代理。

nginx反向代理 一对一的反向代理

假定在我们的linux服务器上有一台tomcat服务器,端口为8888,我们需要通过nginx做反向代理

1.假设我们已经下载并且完成了nginx安装,我们还需要配置一台tomcat服务器,端口为8888

2.修改nginx的配置文件,启动tomcat,启动nginx,在server location块里面添加proxy_pass参数,后面填写你的tomcat访问地址即可ip+port

3.修改客户端目录C:\Windows\System32\drivers\etc的hosts文件,手动完成域名映射

4.启动服务器上的nginx和tomcat,记住一定要开放对应的端口,否则外部访问是进不去防火墙的
结果

反向代理(访问不同路径,转发至不同的tomcat)

为了满足条件,我们需要准别两个tomcat服务器,端口假定分别为8888,8889,我们访问nginx不同的url路径,进入不同tomcat,为了好区分,我们在对应端口的tomcat都新建一个项目,项目里面放一个文件,里面写服务器对应的端口好区分

为了好区分,我把两台tomcat服务器放在同一个文件夹,以端口号来命名

修改端口8888的tomcat服务器配置,将端口配置为8888
在端口8888的tomcat服务器下webapps文件夹下创建一个edu的文件夹,里面放一个a.html文件

修改端口8888的tomcat服务器配置,将端口配置为8889
在端口8888的tomcat服务器下webapps文件夹下创建一个adu的文件夹,里面放一个a.html文件

修改nginx服务器的server块内容

启动nginx,查看结果

location指令说明

该指令用于匹配URL。·语法如下:

location [ = | ~ | ~*| ^~] uri {}

1、= :用于不含正则表达式的uri前,要求请求字符串与uri.严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。v
2、~:用于表示uri包含正则表达式,并且区分大小写。
3、~*用于表示 uri包含正则表达式,并且不区分大小写。
4、^~:用于不含正则表达式的uri前,要求 Nginx服务器找到标识uri和请求字

65001508

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。