多层nginx转发_nginx反向代理配置详解

(3) 2024-06-06 21:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说多层nginx转发_nginx反向代理配置详解,希望能够帮助你!!!。

1. 背景

我们开发和测试环境做了网络隔离,现在有个测试环境业务要访问开发环境的另一个业务。由于走申请打通流程比较麻烦,在了解到开发环境ng和测试环境的ng之间是打通了网络的。所以决定从做两层ng转发到开发环境真正的业务。即:
A业务(10.201.5.171:test环境)–>ng(10.201.5.20: test环境) -->ng(172.22.23.146:dev环境) -->B业务(172.22.145.228dev环境)

2. 其他说明

因为开发环境的B业务,做的有dns解析。所以为了保证统一,打算在测试环境访问和开发环境相同的域名,都能访问得到相同的结果,因为我们开发和测试环境都有内部dns,而且是隔离的,所以只要在测试环境的dns配上解析,指向到5.20的ng。就能保证不同环境相同的域名访问的相同的业务

3. 配置dns解析

先到测试环境dns服务器配置A解析
如下:
多层nginx转发_nginx反向代理配置详解_https://bianchenghao6.com/blog__第1张
此时访问yapi.sui.work 就能转到10.201.5.20上了

4. 配置第一层ng的转发

添加一个ng的配置文件
多层nginx转发_nginx反向代理配置详解_https://bianchenghao6.com/blog__第2张
然后把所有的请求都转发到172.22.23.146上,注意一定要把$request_uri加上,前面不要加/ 如下图:
多层nginx转发_nginx反向代理配置详解_https://bianchenghao6.com/blog__第3张
配置完成以后,nginx -t && nginx -s reload

5. 配置第二层ng

第二层ng的时候,可以有两种方式,一是新建一个ng配置文件,和第一层ng一样匹配所有请求到的。转发到
172.22.146.228,这种方式是最好的。 第二种方式,和现有的ng配置文件结合,但是为了防止默认页面的污染,所以加了/mock来进行区分。换句话说,如果开发的url中没有mock的话,就匹配不到。刚好,我要配的这个业务都是以mock来开头的,所以我就选了第二种。配置完成以后,nginx -t && nginx -s reload
多层nginx转发_nginx反向代理配置详解_https://bianchenghao6.com/blog__第4张

6. 效果

在10.201.5.171上 (这个走的是上面我配置的线)
多层nginx转发_nginx反向代理配置详解_https://bianchenghao6.com/blog__第5张
在172.22.145.150 (这个走的是开发环境dns直接到172.22.146.228的)
多层nginx转发_nginx反向代理配置详解_https://bianchenghao6.com/blog__第6张

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复