当前位置: 首页 > wzjs >正文

郴州网站seo外包wordpress 首页导航

郴州网站seo外包,wordpress 首页导航,公司网站开发需要多少钱,广东网站建设软件nginx实现同一个端口监听多个服务 前言原理配置不同域名基于路径(URL 路由)​补充 总之完结撒花,如有需要收藏的看官,顺便也用发财的小手点点赞哈,如有错漏,也欢迎各位在评论区评论! 前言 受同…

nginx实现同一个端口监听多个服务

  • 前言
  • 原理
  • 配置
    • 不同域名
    • 基于路径(URL 路由)​
    • 补充
  • 总之
  • 完结撒花,如有需要收藏的看官,顺便也用发财的小手点点赞哈,如有错漏,也欢迎各位在评论区评论!

前言

同一个系统中多个 TCP 服务进程无法绑定同一个端口这个概念的影响,误以为在nginx也无法配置通过同一个端口无法转发到多个不同域名的后端服务,于是本文使用配置来验证,实际是完全可以在同一端口上配置转发多个服务​​,且​​无需依赖不同协议。

如果两个 TCP 服务进程同时绑定的 IP 地址和端口都相同,那么执行 bind() 时候就会出错,错误是“Address already
in use”。

原理

其核心原理是通过 ​​请求特征区分流量​​(如域名、路径、请求头),而非依赖不同协议或端口。以下是具体实现方式和配置示例:
Nginx 的 server 块和 location 块支持根据以下特征区分请求:

​​域名​​(server_name):不同域名访问同一端口时,Nginx 根据 Host 头分发到不同服务。
​​路径​​(location):同一域名的不同 URL 路径分发到不同服务。
​​协议​​:严格来说,HTTP 和 HTTPS 协议需要不同端口(如 80 和 443),但可以在同一端口上通过协议升级(如 WebSocket)或同一协议下的不同路由逻辑实现多服务。

配置

使用同一个端口监听转发到不同服务,其实有两种配置,①是通过不同域名;②基于路径(URL 路由)​;

不同域名

通过不同域名(如 lvan.service1.com 和 lvan.service2.com)在同一端口(如 80)访问不同服务。
在nginx.conf配置

http {# 服务1:通过 lvan.service1.com 访问server {listen 80;server_name lvan.service1.com;  # 域名1location / {proxy_pass http://localhost:3000;  # 转发到服务1}}# 服务2:通过 lvan.service2.com 访问server {listen 80;server_name lvan.service2.com;  # 域名2location / {proxy_pass http://localhost:4000;  # 转发到服务2}}
}

基于路径(URL 路由)​

通过同一域名和端口的不同路径(如 /app1 和 /app2)访问不同服务。

http {server {listen 80;server_name example.com;# 服务1:路径 /app1location /app1/ {proxy_pass http://localhost:3000/;  # 末尾的 / 会移除 /app1/}# 服务2:路径 /app2location /app2/ {proxy_pass http://localhost:4000/;  # 末尾的 / 会移除 /app2/}# 默认路由(可选)location / {root /var/www/html;  # 静态资源或其他默认服务}}
}

注意:proxy_pass 末尾的 / 会移除原始路径前缀(如 /app1/api 转发为 /api)。
路径匹配优先级:精确路径(=)> 正则路径(~)> 普通路径。

补充

还可以通过混合协议(HTTP + WebSocket)​。在同一端口(如 80)同时处理 HTTP 请求和 WebSocket 连接(需协议升级)。

http {server {listen 80;server_name example.com;# HTTP 服务location /api {proxy_pass http://localhost:3000;}# WebSocket 服务location /ws {proxy_pass http://localhost:4000;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;    # 协议升级头proxy_set_header Connection "Upgrade";}}
}

注意:
WebSocket 本质是 HTTP 协议升级,仍使用同一端口。
需配置 Upgrade 和 Connection 头支持协议切换。

总之

同一端口部署多服务的核心​​:利用 Nginx 的请求分发能力,根据域名、路径、协议升级等特征区分流量。

完结撒花,如有需要收藏的看官,顺便也用发财的小手点点赞哈,如有错漏,也欢迎各位在评论区评论!

http://www.dtcms.com/wzjs/830275.html

相关文章:

  • wordpress网站维护页面亚马逊的网站建设分析
  • 网页设计自学网站网站开发专业就业前系军
  • 如何关联网站与网站更新网站的图片加不上水印
  • 在柬埔寨做网络销售推网站成武建设局网站
  • 外包公司做的网站那个网站详情页做的好
  • asp.net 做网站源代码营销型公司网站有哪些
  • 面试个人简历范文及网站建设重庆工程建设招标网官方网站
  • 网站短信接口怎么做wordpress必须安装php
  • 安装钢结构网架公司搜索引擎优化的流程是什么
  • 微信放在网站根目录自己做的网站有什么用
  • 黄岩建设局网站海淀建设网站
  • 做实体店推广的网站线上商城运营方案
  • 码云pages做静态网站页面设计网站素材
  • app门户网站北京网站建设站建设
  • 网站开发公司杭州网站建设wordpress 会员中心插件
  • 网站内网页标题对百度排名淘宝客建立网站推广怎么做
  • 河北省建设厅网站域名查询大全
  • 做全景效果图的网站网站开发入门ppt
  • 新媒体 网站建设 影视新媒体营销推广渠道
  • 珠海网站制作费用微网站医院策划案
  • 手机端做的优秀的网站设计我爱我家租房房源信息网
  • 张家港质监站网址php和织梦那个做网站好
  • 汕头网站建设推广价格昌大建设始建于哪个地区
  • wordpress网站整站搬迁营销培训课程视频
  • 永州企业网站建设旅行社网站 模板
  • 甘肃永靖建设住建局网站网站评价及优化分析报告
  • 乐安网站建设网站空间 域名
  • 怎么通过做网站来赚钱数字化营销模式及特点
  • 网站设计 中国风企业官网招聘信息
  • 甘肃金恒大建设有限公司网站网站标志的原则