Nginx服务器根据不同路径转发到不同的服务
环境说明
linux系统版本:lsb_release -a
Nginx 版本:1.24.0
.1.配置nginx服务。
.a.先配置upsream ;backend名字可以自己任意取,里面可以配置多个server;
同样upstream也可以配置多个。
.b.然后在server中配置location。以下图为例,第一个配置路径配置直接匹配exam,然后将请求转发到upstream backend配置的
ip地址中;第二个访问/test的时候,则将其请求转发到upstream web配置中,并且添加了exam后缀。
说明:1.24.0版本的nginx不需要单独安装ngx_http_upstream_module 模块,默认已经安装该模块。
.2.测试配置是否正确,然后重启nginx服务器。
.3.访问测试。
.a.直接访问/exam的请求地址。
.b.访问/test为前缀的接口。
到此,根据不同请求路径,转发到不同服务的的nginx配置全部完成。如果某个系统有多个后端服务,
或者是某一个后端服务有多台服务器,都可以使用这种配置方式。在添加一个负载均衡的配置即可。
上面就是之前做的一个实际项目配置示例,从图中可以看出有一个小程序服务,有一个web服务,
一个nacos服务。并且各种服务的端口都不是默认端口,避免服务器被攻击!
参考博文
https://developer.aliyun.com/article/525373
https://jingyan.baidu.com/article/454316ab354edcf7a7c03a81.html
https://cloud.tencent.com/developer/article/2277453
http://nginx.org/en/docs/http/ngx_http_upstream_module.html#upstream