Nginx只开一个端口!能做什么?(一)

引言

本文介绍 nginx 只开放一个端口时,如何应对各种复杂业务需求。

核心技术

URL扩展及URL改写。

$request_uri : nginx自带变量,获取请求地址端口后面部分的URL。

理论说明

通过本地nginx代理,把多端口服务请求,转换成一个端口转发到服务端nginx,服务端nginx再分解成多端口对应多服务。

架构图

3. 详细说明

核心步骤:

  • 本地启动多端口
  • 本地转发到 /固定前缀/端口$request_uri
  • 服务端拆分请求

4. 代码示例

用户本地nginx片段

复制代码
server {
	listen 8081;
	location / {
		proxy_pass http://10.10.6.2:8080/app/8081$request_uri;
	}
}
server {
	listen 8082;
	location / {
		proxy_pass http://10.10.6.2:8080/app/8082$request_uri;
	}       
}

服务端nginx片段

复制代码
server {
	listen 8080;
	location ^~ /app/8081/ {
		proxy_pass http://10.10.6.2:8081/;
	}
	location ^~ /app/8082/ {
		proxy_pass http://10.10.6.2:8082/;
	}       
}

5. 总结

特殊场景很有用哦

附件

文章图片原文件ppt


------------------ 但行好事莫问前程,你若盛开蝴蝶自来

相关推荐
Z21-X15 小时前
云原生运维学习笔记:ECShop全链路容器化部署与Docker底层资源隔离深度剖析
运维·笔记·学习·云原生
进击的荆棘16 小时前
Linux系统——线程同步与互斥之线程池和安全
linux·运维·服务器·安全·单例模式·线程
瑞雪兆丰年兮17 小时前
JavaWeb-day11-SpringBootWeb案例(文件上传)
java·运维·服务器·javaweb·oss
那明眸似水18 小时前
云原生项目三:Docker秒级启动NextCloud个人网盘存储办公系统
linux·运维·docker·云原生·容器
小南家的青蛙19 小时前
微服务体系下DevOps运维岗位面试方案设计
运维·面试·职场和发展·devops
知已难寻1 天前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
Alluxio2 天前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
Sayai2 天前
Neo4j 图数据质量检查实战:环路检测、孤立节点与连通分量,两条 Cypher 引出的数据体检清单(含变长路径性能陷阱)
运维·neo4j·图数据库·数据质量·cypher
Elastic 中国社区官方博客2 天前
更少的位数,相同的召回率:DiskBBQ 更保守的自动校准扫描
大数据·运维·开发语言·人工智能·elasticsearch·搜索引擎
方便面不加香菜2 天前
Docker Volume -- 管理卷Volume详解
运维·docker·容器