通常情况下,企业并不会直接开放系统接口给到外网,并且在企业内部同样有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 ;
server_name ws.domain.cn; #此处指定子域名访问
location / {
proxy_set_header Host $host:$server_port; #必配,否则导致Location问题
proxy_pass http://ws;
}
}

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

使用nginx作为webservice接口代理的更多相关文章

  1. cxf设置代理访问webservice接口

    由于业务上的需要,需要访问第三方提供的webservice接口,但由于公司做了对外访问的限制,不设置代理是不能外网的,如果使用http设置代理访问外网还是比较容易的,但使用cxf有点不知道从哪里入手. ...

  2. 【经验随笔】Java通过代理访问互联网平台提供的WebService接口的一种方法

    背景 通常有两点原因需要通过代理访问互联网平台的提供的WebService接口: 1. 在公司企业内网访问外部互联网平台发布的接口,公司要求通过代理访问外网. 2. 频繁访问平台接口,IP被平台封了, ...

  3. 【工作手札】Nginx接口代理可跨域

    接口代理nginx配置 location /api/ { proxy_set_header Host api.shenjian.io; proxy_set_header X-Forwarded-For ...

  4. Nginx配置WebService、MySQL、SQL Server、ORACLE等代理

    首先介绍一下Nginx的基本使用: 注意不要直接双击nginx.exe,这样会导致修改配置后重启.停止nginx无效,需要手动关闭任务管理器内的所有nginx进程 在nginx.exe目录,打开命令行 ...

  5. Nginx 前端项目配置 包含二级目录和接口代理

    Nginx是目前用的比较多的一个前端服务器 其优点是配置简单修改一下server就能用 并发性能比较好,具体怎么好就看这个吧 开撸 1.找到nginx (liunx系统,已安装) whereis ng ...

  6. java调用CXF WebService接口的两种方式

    通过http://localhost:7002/card/services/HelloWorld?wsdl访问到xml如下,说明接口写对了. 2.静态调用 // 创建WebService客户端代理工厂 ...

  7. webservice接口的发布

    使用xfire-client发布webservice接口: commons-codec-1.3.jar commons-httpclient-3.0.jar 在src 下创建META-INF/xfir ...

  8. Webservice接口的调用

    一.开发webservice接口的方式 1.jdk开发. 2.使用第三方工具开发,如cxf.shiro等等. 我这边介绍jdk方式webservice接口调用. 二.使用jdk调用webservice ...

  9. 通过Java WebService接口从服务端下载文件

    一. 前言 本文讲述如何通过webservice接口,从服务端下载文件.报告到客户端.适用于跨系统间的文件交互,传输文件不大的情况(控制在几百M以内).对于这种情况搭建一个FTP环境,增加了系统部署的 ...

随机推荐

  1. 10.9-uC/OS-III任务管理

    1.OSTaskCreate () 要使用 uC/OS 的任务必须先声明任务控制块和创建任务,调用 OSTaskCreate () 函数可以创建一个任务. 2.OSTaskSuspend () OST ...

  2. python框架之Django(6)-查询优化之select_related&prefetch_related

    准备 定义如下模型 from django.db import models # 省份 class Province(models.Model): name = models.CharField(ma ...

  3. python基础之 编码进阶,文件操作和深浅copy

    1.编码的进阶 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码.即先将其他编码的字符串解码(decode)成unicode,再从unic ...

  4. python进阶之 进程编程

    1.进程 顾名思义,进程即正在执行的一个过程.进程是对正在运行程序的一个抽象. 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统的其他所有内 ...

  5. pandas 拆分groupby 应用某个函数apply 和聚合结果aggregate

    https://www.jianshu.com/p/2d49cb87626b df.groupby('A').size()

  6. ASM磁盘组剔盘、加盘实施过程

    Task:从一个ASM磁盘组中剔除一块盘,加入到另一个ASM磁盘组. 环境:AIX6.1 + Oracle RAC 11.2.0.3 前期准备: 1.查看DG磁盘组空间情况: --查看DG磁盘组空间情 ...

  7. st2_057

    http://vulapps.evalbug.com/s_struts2_s2-057/ 这大概是全网复现st2-057环境最简单的操作了. 不过首先,你需要安装过docker,安装方法参考官方文档h ...

  8. 浅谈react的初步试用

    现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Face ...

  9. 快速搭建Vue项目

    快速搭建Vue项目 第一次安装vue项目Vue推荐开发环境Node.js 6.2.0.npm 3.8.9.webpack 1.13.vue-cli 2.5.1.webstrom2016 安装环境: 安 ...

  10. nodejs笔记之搭建服务器

    简单服务器搭建: 1.新建一个文件:app.js 2.加入实现服务器代码: const http = require("http"); http.createServer(func ...