wso2esb--https服务配置

本文详细介绍了如何在WSO2 ESB中配置HTTPS代理服务,包括准备阶段、配置文件修改、HTTPS代理服务配置及测试步骤。重点在于通过修改配置文件、导入自建证书来实现安全的HTTPS通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 作为信任库

即可。

 

 

 

 

注:以上测试,使用的是自签证书。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员柒叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值