使用nginx作为webservice接口代理

通常情况下,企业并不会直接开放系统接口给到外网,并且在企业内部同样有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重新加载配置文件。

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

时间: 2024-08-30 17:13:54

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

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

nginx配置webservice #user nobody; worker_processes 4; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type applicat

Java调用WebService 接口 实例

这里给大家介绍一下,Java调用webservice的一个实例的过程. 本项目不能运行,因为接口地址不可用. 这里只是给大家介绍一个过程,同时留作自己的笔记.如果要学习,可以参照别人的实例.比较好. ①选择项目根目录的src ,右键,new --> webservice client 然后输入地址: http://172.18.100.52:456/hello?wsdl 必须要加wsdl结尾,这样才是一个webservice的接口. finlish.这时候刷新项目.可以看到项目下/src/com

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

一. 前言 本文讲述如何通过webservice接口,从服务端下载文件.报告到客户端.适用于跨系统间的文件交互,传输文件不大的情况(控制在几百M以内).对于这种情况搭建一个FTP环境,增加了系统部署的复杂度和系统对外暴露的接口.通过在服务端读取文件,返回字节流到客户端的方式比较简单. 下面采用restful的接口形式,满足SOA架构接口要求.如下代码拷贝到eclipse中即可运行,功能自测试运行正常.样例代码的服务端和客户端在同一台PC上运行,放到不同PC上运行改一下发布服务和请求服务的IP地址

spring mvc + mybaties + mysql 完美整合cxf 实现webservice接口 (服务端、客户端)

spring-3.1.2.cxf-3.1.3.mybaties.mysql 整合实现webservice需要的完整jar文件 地址:http://download.csdn.net/detail/xuxiaoyu__/9868032 整合的过程其实很简单,通过简单的配置就可以,但是可悲的是 一堆问题都是由于jar缺失或者jar版本冲突引起的,所以附上全部jar文件 ↑↑↑ 发布webservice服务: 第一步:编写接口和实现类 PlcDataDetail.java 1 package test

.net 调用外部的webservice接口

需求:做这个项目之前需要用到一个java的webservice接口,首先想到的第一种方法就是添加服务引用了.但是这样的话会有一个config文件 生成的dll必须要读取config文件,config文件放到同一目录也不行的,需要放到另一个工具的节点中才能被另外一个工具读取,不幸的是另外一个工具不能添加节点 否者会boom 二:接下来就是只能手写地址写进去程序里面.然后在百度搜索了一下文章.代码不出意外的粘贴复制,然后自己写个c#的webserive测试完全没问题..发现给java用时候就不行了.

WebService 接口调用指南

客户端开发步骤(java): 本例展示如何在Eclipse 环境下使用Axis2创建WebService客户端. 一. 环境准备(如果你已具备Axis2开发环境,跳过本步骤) 1.  Axis2 API包 本例使用的Axis2版本是1.4,请到以下地址下载:http://apache.mirror.phpchina.com/ws/axis2/1_4/axis2-1.4.1-bin.zip下载后将压缩包解压缩到任意目录.如果你希望直接使用Axis2 API进行开发,可能会需要这个包. 2.  Ax

myeclipse上spring+mybatis+axis2发布webservice接口的问题及个人实现的方式

前提: 这个月的突然一天,有个项目对接需要使用axis2发布的接口,这下难倒我了,毕竟之前我是连webservice接口都不知怎么发布的.后来从HelloWorld开始发布了第一个接口--sayHi();到这一步的时候都是很顺利的,唯独和axis2整合的时候,出现问题了,spring的dao层在axis2发布后的接口里,一直为null,貌似是spring一直没有被初始化,这期间我测试过按照正常流程来执行一个请求,是正确的,唯独和axis2整合后就不行了,在这测试的时间内,很痛苦,很痛苦,所有能想

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

通过http://localhost:7002/card/services/HelloWorld?wsdl访问到xml如下,说明接口写对了. 2.静态调用 // 创建WebService客户端代理工厂        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();        // 判断是否抛出异常        factory.getOutInterceptors().add(new LoggingInIntercept

Python的Web编程[2] -&gt; WebService技术[0] -&gt; 利用 Python 调用 WebService 接口

WebService技术 / WebService Technology 1 关于webservice / Constants WebService是一种跨编程语言和跨操作系统平台的远程调用技术. WebService主要由以下三种技术构成,XML+XSD,SOAP和WSDL XML+XSD: WebService采用HTTP协议传输数据,采用XML格式封装数据(即XML中说明调用远程服务对象的哪个方法,传递的参数是什么,以及服务对象的返回结果是什么).XML是WebService平台中表示数据