使用nginx作为webservice接口代理
通常情况下,企业并不会直接开放系统接口给到外网,并且在企业内部同样有SOA或者ESB这样的接口统一管理的工具。
那么,大多数情况下,如果需要与外部系统,如云系统,或者其他企业的系统做接口时采取的方式如下
企业内部业务系统接口<-->SOA/ESB<-->DMZ<-->外部系统
如果外部系统是其他企业的业务系统,可能同样会经过DMZ<-->SOA/ESB<-->业务系统接口的这样一个流程。
一方面,由于数据流转节点较多,需要做好整个流程中所有系统可用性监控;
另一方面,如何打通流程。
打通流程的关键在于DMZ的使用,在我的经验中有两种方式。
方式1:在DMZ上部署应用作为接口代理,此种方式需要一定的开发量,不在此作为赘述。
方式2:在DMZ上部署nginx作为反向代理,降低开发量。
参考:
解决nginx反响代理web service的soap:address location问题
我的配置文件如下
ws.conf
upstream ws{
server ip:port; #此处最好指定内网ip
}
server{
listen ;
server_name ws.domain.cn; #此处指定子域名访问
location / {
proxy_set_header Host $host:$server_port; #必配,否则导致Location问题
proxy_pass http://ws;
}
}
执行命令:nginx -s reload重新加载配置文件。
使用nginx作为webservice接口代理的更多相关文章
- cxf设置代理访问webservice接口
由于业务上的需要,需要访问第三方提供的webservice接口,但由于公司做了对外访问的限制,不设置代理是不能外网的,如果使用http设置代理访问外网还是比较容易的,但使用cxf有点不知道从哪里入手. ...
- 【经验随笔】Java通过代理访问互联网平台提供的WebService接口的一种方法
背景 通常有两点原因需要通过代理访问互联网平台的提供的WebService接口: 1. 在公司企业内网访问外部互联网平台发布的接口,公司要求通过代理访问外网. 2. 频繁访问平台接口,IP被平台封了, ...
- 【工作手札】Nginx接口代理可跨域
接口代理nginx配置 location /api/ { proxy_set_header Host api.shenjian.io; proxy_set_header X-Forwarded-For ...
- Nginx配置WebService、MySQL、SQL Server、ORACLE等代理
首先介绍一下Nginx的基本使用: 注意不要直接双击nginx.exe,这样会导致修改配置后重启.停止nginx无效,需要手动关闭任务管理器内的所有nginx进程 在nginx.exe目录,打开命令行 ...
- Nginx 前端项目配置 包含二级目录和接口代理
Nginx是目前用的比较多的一个前端服务器 其优点是配置简单修改一下server就能用 并发性能比较好,具体怎么好就看这个吧 开撸 1.找到nginx (liunx系统,已安装) whereis ng ...
- java调用CXF WebService接口的两种方式
通过http://localhost:7002/card/services/HelloWorld?wsdl访问到xml如下,说明接口写对了. 2.静态调用 // 创建WebService客户端代理工厂 ...
- webservice接口的发布
使用xfire-client发布webservice接口: commons-codec-1.3.jar commons-httpclient-3.0.jar 在src 下创建META-INF/xfir ...
- Webservice接口的调用
一.开发webservice接口的方式 1.jdk开发. 2.使用第三方工具开发,如cxf.shiro等等. 我这边介绍jdk方式webservice接口调用. 二.使用jdk调用webservice ...
- 通过Java WebService接口从服务端下载文件
一. 前言 本文讲述如何通过webservice接口,从服务端下载文件.报告到客户端.适用于跨系统间的文件交互,传输文件不大的情况(控制在几百M以内).对于这种情况搭建一个FTP环境,增加了系统部署的 ...
随机推荐
- bootstrap 下拉菜单自动向上向下弹起
.别人的解决方案 2.别人的解决方案 3.我哒 div class="btn-group" style="margin-top:500px;" > < ...
- Django进阶之查询优化、extra注入SQL及批量创建
Django查询优化 Django的查询优化用到两个函数——select_related()和prefetch_related(). select_related()用的是连表join的方式,主要处理 ...
- spring-boot 速成(2) devtools之热部署及LiveReload
JRebel热部署插件相信很多人都知道,但是这是一款商业插件,spring-boot框架也提供了类似的功能,即:devtools,关键是免费的! 使用方法如下: 一.添加 devtools依赖 dep ...
- cocos creator 动态创建精灵
var node = new cc.Node();var sprite = node.addComponent(cc.Sprite);sprite.spriteFrame = new cc.Sprit ...
- python调用RPC接口
要调用RPC接口,python提供了一个框架grpc,这是google开源的 rpc相关文档: https://grpc.io/docs/tutorials/basic/python.html 需要安 ...
- C++ Windows API 读写INI文件
BOOL WritePrivateProfileString( LPCTSTR lpAppName, // INI文件中的一个字段名[节名]可以有很多个节名 LPCTSTR lpKeyName, // ...
- java之搭建webservice服务端
1.新建工程. 2.配置项目名称和位置. 3.得到的项目结构如下: 4.配置tomcat服务器. (1) (2)新建一个tomcat服务. (3)配置tomcat参数. 5.配置WSDL文件. url ...
- HttpRunner 接口自动化简单实践
1.安装 1.1 命令行pip直接安装就好 1.2 验证安装 命令行输入hrun -V,返回项目版本信息则表明安装成功 2.新建测试项目 这里我用直接通过框架的脚手架工具命令生成目录结构 如:hrun ...
- MongoDB 之 你得知道MongoDB是个什么鬼 MongoDB - 1
最近有太多的同学向我提起MongoDB,想要学习MongoDB,还不知道MongoDB到底是什么鬼,或者说,知道是数据库,知道是文件型数据库,但是不知道怎么来用 那么好,所谓千呼万唤始出来,现在我就拉 ...
- Windwos Live Writer插件指南
Windows Live Writer 即(WLW) 是一个免费的桌面应用程序,可以用于发布博客. 官网下载地址:https://www.microsoft.com/zh-CN/download/de ...