nginx代理原理(端口复用)探究

前言:对于一些常用的插件,我们应该学会如何使用。同时,其实现原理也要进行深究,可以为其他的项目开发做借鉴。

探究方案:

一、发布两个不同的服务,这两个服务的端口不致

二、配置nginx,让这两个不同的服务用相同的端口代理

三、请求代理接口,验证返回结果

四、原理分析

验证过程:

一、写两个不同的接口服务,如a接口:http://localhost:9876/;

b接口:http://localhost:2345/get_data;

二、配置nginx

配置简要说明:location后边配置的是代理接口的请求路径。内部proxy_pass配置的是需要代理的接口详细路径。

三、请求验证

curl http://localhost:8000/

curl http://localhost:8000/a1/

原理分析:本质上其实就是利用一个端口的服务将多个端口的服务进行汇集转发。相当于咱们在一个服务下,直接写多个接口。本质上是一样的。

这个代理在当前的共作场景中有一个好处:未打通的端口可以不需要再进行端口开通操作,服务发布后,如果nginx是在本机,则可以通过nginx直接调用,然后再由已发布服务进行代理转发访问。由于当前的工作中,对于安全的要求比较高,而且安全策略中,对于端口的控制比较严格。所以这种方式会更合理一些。

相关推荐
光电的一只菜鸡1 小时前
ubuntu之坑(二十)——VMware虚拟机系统无法正常进入如何处理
linux·运维·ubuntu
青 春 记 忆1 小时前
Dify Docker Compose 通用无损升级指南:从备份、双版本预演到切换与回滚
运维·人工智能·python·docker·容器
Java王小怪2 小时前
Docker环境Redis没挂载保存数据
运维·docker·容器
你住过的屋檐3 小时前
【Nginx】linux上安装nginx
linux·运维·nginx
晓晓_za8986684 小时前
开源 GEO 优化源码二次开发:贴牌改造与业务模块扩展实践
java·运维·服务器·开发语言·性能优化·开源
liangshanbo12155 小时前
Nginx 进程管理命令深度面试题解析
java·nginx·面试
云计算DevOps-韩老师5 小时前
【MySQL运维DBA】【SQL基础系列002篇】
运维·mysql·dba
DBA大董5 小时前
TDengine3.0 DBA常用的运维命令和SQL2
运维·数据库·时序数据库·dba·tdengine
会飞的土拨鼠呀5 小时前
Linux的存储使用率应该如何计算
linux·运维·服务器
Elastic 中国社区官方博客6 小时前
OpenTelemetry Java 扩展:无需分叉 agent 即可自定义追踪
java·大数据·运维·开发语言·数据库·人工智能·elasticsearch