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


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

相关推荐
万联WANFLOW1 小时前
Docker Hub 镜像拉取慢、timeout 的排查方法
运维·docker·云原生·容器·eureka
天衍四九-2 小时前
Docker Compose企业实战系列(一):LNMP环境一键部署(Nginx\+MySQL\+PHP)
mysql·nginx·docker
Julien20042 小时前
CGroups 资源控制组
linux·运维·服务器·ssh·学习方法
Vcaker2 小时前
Linux学习37-rook-ceph部署
linux·运维·学习
yt004yt2 小时前
VOCs 绿岛项目数字化设计要点,结合能碳管控思路
大数据·运维
阳光九叶草LXGZXJ2 小时前
Linux-学习-12-JDK安装
java·linux·运维·学习
wtblszn10 小时前
自动化包装生产线设备可视化管理方案
运维·自动化
心之语歌11 小时前
Tkinter 画布基本梳理
运维·服务器·python
Shulex12 小时前
面向跨境电商多渠道消息系统的技术架构:亚马逊站内信合规对接与自动化执行链路设计
运维·架构·自动化