【中间件】nginx将请求负载均衡转发给网关,网关再将请求转发给对应服务

一、场景

前端将请求发送给nginx,nginx将请求再转发给网关,网关再将请求转发至对应服务。由于网关会部署在多台服务器上,因此nginx需要负载均衡给网关发请求。nginx所有配置均参照官方文档nginx开发文档,可参考负载均衡板块内容

二、具体实现步骤

1、修改nginx.conf和default.conf配置文件

说明:这两个配置文件时nginx的重要配置文件,请求的转发均在该配置文件内实现

  • nginx.conf配置文件:

配置说明:该处配置网关所在地址和端口,如果网关部署在多台服务器上,该配置需要新增服务器地址

  • default.con配置文件

配置说明:

1、第一处配置:前端会给nginx发送请求,该配置用于nginx监听前端给该服务器80端口发送请求。相当于请求断言

2、第二处配置:当前端发送/请求后,会将请求转发到nginx.conf配置中gulimall配置的地址,即网关所在地址。nginx发送请求时会丢掉很多请求头中的信息,因此需要配置proxy_set_header来让nginx发送请求时携带host参数,参数值为当前请求host参数

2、修改网关服务配置

说明:通过上述配置,当前端给nginx发送http://http://192.168.195.131/请求时,nginx监听到后,会将请求转发给网关。接下来网关需要将该请求转发至对应服务

bash 复制代码
        - id: gulimall_host
          uri: lb://gilimall-product
          predicates:
            - Host=**.192.168.195.131

说明:nginx发送请求时,会携带host参数(可在前端页面请求体中看到),当请求中写道host参数后,网关将请求转发至对应服务(这里是商品服务)

相关推荐
kingx313 小时前
BugKu PRA 渗透测试 2(Harry‘s Blog):9 Flag 全链实战复盘
中间件·渗透测试·log4j2·内网渗透·反序列化
未来之窗软件服务14 小时前
WAF负载均衡+蜜罐混淆安全体系-东方仙盟
运维·安全·负载均衡·仙盟创梦ide·东方仙盟·阿雪技术观·网关开发
Linux-lucky14 小时前
46-Linux学习之旅之LVS负载均衡与keepalived高可用
linux·运维·学习·ubuntu·负载均衡·lvs
枫叶轻语16 小时前
【Nginx 从入门到实战 09】前后端统一入口:部署页面与接口的完整配置
nginx·全栈
sun_weitao17 小时前
用 FastAPI + MQTT 做一个 ESP32最小化跑通示例
中间件·vue·fastapi
无言听风雨丶17 小时前
Nginx 深度实战:从架构原理到生产排错
运维·nginx·架构
xxwl58520 小时前
Nginx 基础学习笔记
笔记·学习·nginx
fb_1234521 小时前
K8s StatefulSet五大有状态集群实战_Nginx_Etcd_Redis_Cassandra_MySQL
nginx·kubernetes·etcd
acd120091 天前
域名解析缓存带来的隐性故障,很多排查都漏掉了这一层
java·运维·nginx
真上帝的左手1 天前
12. 消息队列-Kafka进阶
分布式·中间件·kafka