基于 nginx 部署 gateway 集群环境|学习笔记

简介: 快速学习基于 nginx 部署 gateway 集群环境

开发者学堂课程【精通 Spring Cloud Alibaba基于 nginx 部署 gateway 集群环境】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/634/detail/10119


基于 nginx 部署 gateway 集群环境


在配置两个网关时,配置转发的服务都是一样的,没有任何变化,相当于把2个网关把他的 jar 包打成2份,配置是完全一模一样的,没有任何变化。

需要格外注意的是它的环境配置,一般网关默认情况下段号为80,但为了做区分。

Nginx 配置的两个网关可以进行环境配置如下:

网关 1:127.0.0.1:81

网关2 :127.0.0.1:82

此时会存在一个如下服务器:

Nginx 服务器 127.0.0.1:80

现在成功启用一个网关81,此时可以访问127.0.0.1:81,输入/member,传递token=1,,访问并传递token

Nginx 在访问网关时,用户如何知道访问的是哪个网关?

如何知道会员服务是通过网关81还是网关82进来的?

原理如下:

会员服务获取 IP 时是网关的 IP,包括 nginx 获取 IP 地址时也是获取的网关的 IP。

假设现在不存在 nginx,会员服务获取 IP 地址是有网关的,这是不正确的。

相当于获取到真实 IP 地址,之后会传递到会员服务,此时会员服务会获取到参数。

但是现在有会员服务想得知是从81过来的还是从82过来的, 一旦转发到81网关的时候, 81网关会再写一个端号,会员服务此时获取到IP地址。

首先在请求头中存放 serverport,相当于网关中重写了请求头,加了一个端号。此时,会员服务在获取端号,这个端号是网关的请求头传过来的。

这就是访问81端号时会展示出来的原因,所以此时可以把网关配置成集群,也就是再加入一个网关,再写一个IP地址作为82,再启动一遍就有82的端号。

此时,网关集群已经搭建完成,需要注意 Nginx 获取蓝牙地址也是 nginx 位,相当于网关获取到真实 IP 后会在企业中传递给会员服务。首先,在请求头中存放serverport,读取网关IP账号,此时会员服务可以进行获取。

可以去把网关配成集群,写一个 IP 地址82,一个网关集群就搭建完毕。

需要进行 nginx 的配置,首先在本机号里面配置一个gw.may ikt.com,然后负载均衡到两个网关。

首先到 Windows System 32中找到目录 ETC,在 hosts 文件中加127.0.0.1,再去配nginx, 再次访问,传递 token 实现功能。

相关文章
|
16天前
|
应用服务中间件 网络安全 nginx
快速上手!使用Docker和Nginx部署Web服务的完美指南
快速上手!使用Docker和Nginx部署Web服务的完美指南
|
1月前
|
网络协议 应用服务中间件 Linux
在Redhat 9部署nginx服务
Nginx是一个高性能、开源的HTTP和反向代理服务器,以其异步非阻塞模型处理高并发,并具有轻量级、高可靠性、良好扩展性和热部署特性。在Redhat 9.2上安装nginx-1.24.0涉及安装依赖、下载解压、源码编译、配置环境变量及启动服务。安装步骤包括:yum安装依赖包,下载解压Nginx,运行configure脚本预编译,make && make install编译安装,然后赋权、配置环境变量,关闭防火墙和SELinux,最后启动Nginx并进行浏览器测试。
471 3
|
16天前
|
JavaScript 前端开发 应用服务中间件
angular引入包、路由权限配置、打包问题与nginx配置问题(简单部署)
angular引入包、路由权限配置、打包问题与nginx配置问题(简单部署)
24 0
|
4天前
|
应用服务中间件 nginx
如何在树莓派部署Nginx并实现无公网ip远程访问内网制作的web网站
如何在树莓派部署Nginx并实现无公网ip远程访问内网制作的web网站
8 0
|
12天前
|
运维 Serverless 应用服务中间件
Serverless 应用引擎产品使用之在阿里云Serverless中函数计算FC nginx 部署上去之后放置静态页面如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
218 0
|
16天前
|
前端开发 Java 应用服务中间件
Springboot解决跨域问题方案总结(包括Nginx,Gateway网关等)
Springboot解决跨域问题方案总结(包括Nginx,Gateway网关等)
|
24天前
|
应用服务中间件 Linux 开发工具
如何在阿里云服务器快速搭建部署Nginx环境
以下是内容的摘要: 本文档主要介绍了在阿里云上购买和配置服务器的步骤,包括注册阿里云账号、实名认证、选择和购买云服务器、配置安全组、使用Xshell和Xftp进行远程连接和文件传输,以及安装和配置Nginx服务器的过程。在完成这些步骤后,你将能够在服务器上部署和运行自己的网站或应用。
|
16天前
|
算法 NoSQL API
SpringCloud&Gateway网关限流
SpringCloud&Gateway网关限流
39 7
|
1月前
|
负载均衡 Nacos 数据安全/隐私保护
SpringCloud GateWay 使用
SpringCloud GateWay 使用
23 0
|
1月前
|
缓存
SpringCloud Gateway 网关的请求体body的读取和修改
SpringCloud Gateway 框架中,为了处理请求体body,实现多次读取与修改,创建了一个名为`RequestParamGlobalFilter`的全局过滤器。这个过滤器使用`@Component`和`@Slf4j`注解,实现了`GlobalFilter`和`Ordered`接口,设置最高优先级以首先读取body。它通过缓存请求体并创建装饰过的`ServerHttpRequest`来实现body的动态获取。
58 4