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

nginx 修改配置

如果你的后端服务在不同的端口上运行,但静态资源访问路径相同,你可以使用 Nginx 的 location 配置来将请求转发到不同的后端服务,同时处理静态文件。这里有几种常见的方式:

方案 1: 基于路径的配置
如果所有服务的静态资源路径相同,你可以直接使用 Nginx 的 location 指令来处理不同的服务请求。以下是一个示例:

server {listen 80;server_name localhost;  # 或者你的内网 IP# 静态资源路径(假设都是 /api/ )location /api/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 根据请求 URI 中的某个部分选择后端服务set $backend "";if ($request_uri ~* "^/api/service1/") {set $backend "http://localhost:8081";}if ($request_uri ~* "^/api/service2/") {set $backend "http://localhost:8082";}proxy_pass $backend;  # 转发请求到相应的后端服务}
}

方案 2: 反向代理不同路径的静态资源
如果你需要在一个路径下访问不同服务的静态资源,可以将它们按服务区分,或者使用一个通用的后端处理请求。示例:

server {listen 80;server_name localhost;  # 或者你的内网 IPlocation /service1/api/ {proxy_pass http://localhost:8081/;  # 将请求代理到服务 1 的 APIproxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}location /service2/api/ {proxy_pass http://localhost:8082/;  # 将请求代理到服务 2 的 APIproxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}# 静态资源访问(所有服务使用同一路径)location /api/ {# 根据请求 URI 转发到相应的后端# 这里可以采用方案 1 中的 set 逻辑set $backend "";if ($request_uri ~* "^/api/service1/") {set $backend "http://localhost:8081";}if ($request_uri ~* "^/api/service2/") {set $backend "http://localhost:8082";}proxy_pass $backend;  # 转发请求到相应的后端服务}
}

说明
请求路径选择:

使用 Nginx 的 if 指令来根据请求的 URI 判断将请求转发到哪个后端服务。这里的逻辑可以根据实际情况调整。
相同的路径:

通过 /api/ 统一访问路径,不同服务的静态资源和 API 都可以通过同一 URI 访问。
路径重写:

如果需要,可以使用 rewrite 指令重写请求路径,使其符合后端服务的要求。
小结
这些方法可以帮助你在同一 Nginx 配置中灵活处理不同的后端服务,同时统一访问路径。根据实际需求选择适合的方案来实现请求的分发和静态资源的处理。

http://www.lryc.cn/news/468245.html

相关文章:

  • 孤岛架构在安全性方面
  • COSCon'24 志愿者招募令:共创开源新生活!
  • vscode使用make编译c的问题
  • 管家婆财贸ERP BB019.操作员制单日期控制
  • 从 Vue 2 到 Vue 3:全面升级指南
  • Apache paimon表操作实战-5
  • 阿里云用STS上传oss的完整程序执行流程图 和前端需要哪些参数uniapp
  • 决策树方法根据指定条件筛选方案
  • 多特征变量序列预测(四) Transformer-BiLSTM风速预测模型
  • 【开源免费】基于SpringBoot+Vue.JS蜗牛兼职平台 (JAVA毕业设计)
  • Ajax笔记
  • 软考:缓存分片和一致性哈希
  • 3109 体验积分值
  • 初识jsp
  • Ansible 的脚本 --- playbooks剧本
  • Windows 死机时 系统错误日志分析与故障排除
  • 基于pytorch搭建CNN
  • C#实现与Windows服务的交互与控制
  • Java和Ts构造函数的区别
  • 植物健康,Spring Boot来助力
  • 百度文心一言接入流程-java版
  • Java 11 新特性深度解析与应用实践
  • druid 连接池监控报错 Sorry, you are not permitted to view this page.本地可以,发布正式出错
  • [RN与H5] 加载线上H5通信失败问题记录(启动本地H5服务OK)
  • electron 打包
  • ChatGLM-6B和Prompt搭建专业领域知识问答机器人应用方案(含完整代码)
  • 虚拟机配置静态IP地址(人狠话不多简单粗暴)
  • Android token JJWT
  • 动态规划<一>初识动态规划
  • 【AIGC】ChatGPT提示词Prompt精确控制指南:Scott Guthrie的建议详解与普通用户实践解析