您的位置:首页 > 运维架构 > Nginx

关于nginx访问zuul网关到最后调用微服务的过程详解

2020-06-07 04:40 351 查看

1.前端js发起请求:
http://www.easymall.com/products/pageManage?page=1&rows=1
其中www.easymall.com通过host文件映射,访问到nginx服务器

2.nginx服务器拦截请求:
80端口监听到该次请求,再去查看映射名字是否是www.easymall.com,如果是,就开始location判断请求地址中有 /products 所以匹配成功,于是截取请求,剩下/pageManage?page=1&rows=1,拼接到proxy_pass的地址中,形成 http://127.0.0.1:8103/zuul-product/product/manage/pageManage?page=1&rows=1;,通过这个地址去访问zuul网关。

3.zuul网关进行匹配:
zuul网关的application文件的配置如下

zuul.routes.product.path=/zuul-product/**
zuul.routes.product.service-id=productservice

http://127.0.0.1:8103/zuul-product/product/manage/pageManage?page=1&rows=1 该地址被网关拦截下来,然后开始进行匹配,和 /zuul-product/**匹配成功,于是zuul网关就使用productservice这个名字,去注册表中找这个微服务的名字,舍弃/zuul-product前面的地址,把地址拼接到请求中zuul-product的位置,,使用ribbon调用该服务。

比如:productservice这个微服务的地址是127.0.0.1:10003。那么经过拼接的地址就是:http://127.0.0.1:10003/product/manage/pageManage?page=1&rows=1

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐