码迷,mamicode.com
首页 > Web开发 > 详细

使用nginx作为webservice接口代理

时间:2018-08-23 12:01:59      阅读:1900      评论:0      收藏:0      [点我收藏+]

标签:数据   http   oca   soa   工具   str   开放   class   .com   

通常情况下,企业并不会直接开放系统接口给到外网,并且在企业内部同样有SOA或者ESB这样的接口统一管理的工具。

那么,大多数情况下,如果需要与外部系统,如云系统,或者其他企业的系统做接口时采取的方式如下

企业内部业务系统接口<-->SOA/ESB<-->DMZ<-->外部系统

如果外部系统是其他企业的业务系统,可能同样会经过DMZ<-->SOA/ESB<-->业务系统接口的这样一个流程。

一方面,由于数据流转节点较多,需要做好整个流程中所有系统可用性监控;

另一方面,如何打通流程。

打通流程的关键在于DMZ的使用,在我的经验中有两种方式。

方式1:在DMZ上部署应用作为接口代理,此种方式需要一定的开发量,不在此作为赘述。

方式2:在DMZ上部署nginx作为反向代理,降低开发量。

参考:

nginx配置webservice

解决nginx反响代理web service的soap:address location问题

我的配置文件如下

ws.conf

upstream ws{
server ip:port; #此处最好指定内网ip
}

server{
        listen 80;
        server_name ws.domain.cn; #此处指定子域名访问
        location / {
             proxy_set_header Host $host:$server_port; #必配,否则导致Location问题
             proxy_pass http://ws;
        }
}

执行命令:nginx -s reload重新加载配置文件。

使用nginx作为webservice接口代理

标签:数据   http   oca   soa   工具   str   开放   class   .com   

原文地址:https://www.cnblogs.com/huanghongbo/p/9522863.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!