wso2esb--https服务配置
2016-03-19 20:54
465 查看
wso2esb使用自己的证书进行https代理服务的配置时,需要修改相应的配置文件,并把证书移动到esb的证书目录下。
1.准备工作
服务端:
将生成的server.keystore和root.truststore拷贝到 $ESB_HOME/repository/resources/security/ 目录下。
客户端:
如有必要,需要将root.crt导入到信任库中(eclipse中为$JRE_HOME\lib\security\cacerts -alias root)
keytool -import -file root.crt -keystore $JRE_HOME\lib\security\cacerts -alias root
2.配置文件修改
修改配置文件:$ESB_HOME/repository/conf/axis2/axis2.xml
修改” Transport Ins”模块中 < transportReceive name="https" >值:
<transportReceiver name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLListener">
<parameter name="port" locked="false">8243</parameter>
<parameter name="non-blocking" locked="false">true</parameter>
<parameter name="bind-address" locked="false">api.dimain.cn</parameter>
<parameter name="WSDLEPRPrefix" locked="false">https://api.domain.cn:8243</parameter>
<parameter name="httpGetProcessor" locked="false">org.wso2.carbon.transport.nhttp.api.PassThroughNHttpGetProcessor</parameter>
<parameter name="keystore" locked="false">
<KeyStore>
<Location>repository/resources/security/server.keystore</Location>
<Type>JKS</Type>
<Password>1234567</Password>
<KeyPassword>1234567</KeyPassword>
</KeyStore>
</parameter>
<parameter name="truststore" locked="false">
<TrustStore>
<Location>repository/resources/security/root.truststore</Location>
<Type>JKS</Type>
<Password>1234567</Password>
</TrustStore>
</parameter>
<parameter name="SSLVerifyClient">require</parameter>
</transportReceiver>
需要将Keystore和Truststore的配置修改为自建的证书。
配置文件修改完成后,重启esb。
3.HTTPS代理服务配置
配置代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="SSLTest"
transports="https,http"
statistics="enable"
trace="enable"
startOnLoad="true">
<target>
<inSequence>
<log level="full"/>
</inSequence>
<outSequence>
<log level="full"/>
<send/>
</outSequence>
<faultSequence>
<makefault version="pox">
<reason expression="get-property('ERROR_MESSAGE')"/>
</makefault>
<log/>
<send/>
</faultSequence>
<endpoint>
<address uri="http://101.41.12.176:10021">
<timeout>
<duration>10000</duration>
<responseAction>fault</responseAction>
</timeout>
<suspendOnFailure>
<errorCodes>101508,101503,101504</errorCodes>
<initialDuration>15000</initialDuration>
<progressionFactor>1.0</progressionFactor>
<maximumDuration>30000</maximumDuration>
</suspendOnFailure>
</address>
</endpoint>
</target>
<parameter name="enableMTOM">false</parameter>
<description/>
</proxy>
4.测试
Linux下使用Openssl s_client测试
执行如下命令:
openssl s_client -showcerts -cert ./certification/client.pem -connect
api.domain.cn:8243
Windows平台Java客户端模拟测试
网上下载的java代码,修改keystore、truststore指向对应的证书。
注意:
client.keystore作为秘钥库
root.trustore 作为信任库
即可。
注:以上测试,使用的是自签证书。
1.准备工作
服务端:
将生成的server.keystore和root.truststore拷贝到 $ESB_HOME/repository/resources/security/ 目录下。
客户端:
如有必要,需要将root.crt导入到信任库中(eclipse中为$JRE_HOME\lib\security\cacerts -alias root)
keytool -import -file root.crt -keystore $JRE_HOME\lib\security\cacerts -alias root
2.配置文件修改
修改配置文件:$ESB_HOME/repository/conf/axis2/axis2.xml
修改” Transport Ins”模块中 < transportReceive name="https" >值:
<transportReceiver name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLListener">
<parameter name="port" locked="false">8243</parameter>
<parameter name="non-blocking" locked="false">true</parameter>
<parameter name="bind-address" locked="false">api.dimain.cn</parameter>
<parameter name="WSDLEPRPrefix" locked="false">https://api.domain.cn:8243</parameter>
<parameter name="httpGetProcessor" locked="false">org.wso2.carbon.transport.nhttp.api.PassThroughNHttpGetProcessor</parameter>
<parameter name="keystore" locked="false">
<KeyStore>
<Location>repository/resources/security/server.keystore</Location>
<Type>JKS</Type>
<Password>1234567</Password>
<KeyPassword>1234567</KeyPassword>
</KeyStore>
</parameter>
<parameter name="truststore" locked="false">
<TrustStore>
<Location>repository/resources/security/root.truststore</Location>
<Type>JKS</Type>
<Password>1234567</Password>
</TrustStore>
</parameter>
<parameter name="SSLVerifyClient">require</parameter>
</transportReceiver>
需要将Keystore和Truststore的配置修改为自建的证书。
配置文件修改完成后,重启esb。
3.HTTPS代理服务配置
配置代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="SSLTest"
transports="https,http"
statistics="enable"
trace="enable"
startOnLoad="true">
<target>
<inSequence>
<log level="full"/>
</inSequence>
<outSequence>
<log level="full"/>
<send/>
</outSequence>
<faultSequence>
<makefault version="pox">
<reason expression="get-property('ERROR_MESSAGE')"/>
</makefault>
<log/>
<send/>
</faultSequence>
<endpoint>
<address uri="http://101.41.12.176:10021">
<timeout>
<duration>10000</duration>
<responseAction>fault</responseAction>
</timeout>
<suspendOnFailure>
<errorCodes>101508,101503,101504</errorCodes>
<initialDuration>15000</initialDuration>
<progressionFactor>1.0</progressionFactor>
<maximumDuration>30000</maximumDuration>
</suspendOnFailure>
</address>
</endpoint>
</target>
<parameter name="enableMTOM">false</parameter>
<description/>
</proxy>
4.测试
Linux下使用Openssl s_client测试
执行如下命令:
openssl s_client -showcerts -cert ./certification/client.pem -connect
api.domain.cn:8243
Windows平台Java客户端模拟测试
网上下载的java代码,修改keystore、truststore指向对应的证书。
注意:
client.keystore作为秘钥库
root.trustore 作为信任库
即可。
注:以上测试,使用的是自签证书。
相关文章推荐
- codeforces 653D. Delivery Bears 网络流
- 计算机网络学习笔记——计算机网络的概述(1)
- 基础网络概念(鸟哥的私房菜)
- 网络技术-android--20160317
- [网络流24题][COGS396]魔术球问题简化版(最小割)
- [网络流24题][BZOJ1475]方格取数(最小割)
- JavaWeb开发之六:HttpServletRequest对象
- JavaWeb开发之五:HttpServletResponse对象
- JavaWeb开发之三:HTTP协议
- Linux网络基础-ISO/OSI七层模型、TCP/IP四层模型
- NTP 网络时间协议服务配置说明(Windows)
- 56.网络请求及各类错误代码含义总结(Errors Code)
- 简析TCP的三次握手与四次分手
- <%@ taglib prefix="c" uri="http://java.sun.com/jst
- https://github.com/MediaTek-Labs/linkit-smart-7688-webUI
- HttpURLConnection使用
- Connection to https://dl-ssl.google.com refused
- UNIX网络编程之旅-配置unp.h头文件环境
- 一点关于卷积神经网络(CNN)的想法
- 如何简单形象又有趣地讲解神经网络是什么?知乎