Nginx代理实现主服务调用不同主机的微服务

场景:

主服务和微服务分别部署在两台主机上主服务的页面中直接请求到了微服务然而有些客户只允许为客户机开通生产服务器一个端口(例如8088)的情况下该方案不可行

解决方案:通过Nginx代理请求去完成。主要的配置如下

配置说明:

server {

        #拦截的端口地址 此端口地址需对外开发

        listen       7094;  

        #主服务的地址 如域名或IP地址

        server_name  localhost;

        #拦截对主服务的请求  

        location  /myfams {

            #代理地址 主服务对应映射路径

            proxy_pass   http://127.0.0.1:8088/myfams;

        }

       #拦截微服务接口地址

        location /rest/datacenter {

            #代理地址 数据中心微服务映射地址

            proxy_pass   http://127.0.0.1:8094/rest/datacenter;   

            proxy_set_header Host $host;

            proxy_set_header X-Real-IP $remote_addr;

            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        }

   }

注意:主服务中调用微服务的端口需要修改为listen端口

原理大致如下:Nginx会监听listen端口,此接口对外开放,主服务调用微服务通过此端口由Nignx去代理proxy_pass其它主机上的微服务请求。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值