Java 低WSO2ESB https代理服务性能

Java 低WSO2ESB https代理服务性能,java,web-services,ssl,tomcat7,wso2esb,Java,Web Services,Ssl,Tomcat7,Wso2esb,我正在为Web服务创建一些代理服务,这些服务有一个限制,即必须通过https保护所有连接。 在WSO2Server上做了一些配置更改之后,我终于可以成功地创建这些代理服务了。客户端和最终Web服务之间通过WSO2Esb的连接是正常的,但是连接非常慢 为了解决硬网络问题,我们允许http上的请求具有非常好的性能。总之,通过http的同一个客户端请求持续时间不到1秒,如果我们通过https执行,则持续时间会增加或减少20秒 另外一个测试是为了试图理解问题出在哪里:我没有通过WSO2ESB,而是直接通

我正在为Web服务创建一些代理服务,这些服务有一个限制,即必须通过https保护所有连接。 在WSO2Server上做了一些配置更改之后,我终于可以成功地创建这些代理服务了。客户端和最终Web服务之间通过WSO2Esb的连接是正常的,但是连接非常慢

为了解决硬网络问题,我们允许http上的请求具有非常好的性能。总之,通过http的同一个客户端请求持续时间不到1秒,如果我们通过https执行,则持续时间会增加或减少20秒

另外一个测试是为了试图理解问题出在哪里:我没有通过WSO2ESB,而是直接通过https向最终Web服务发送请求。在这种情况下,https的性能非常好,就像请求是通过http完成的一样

因此,问题可能出在WSO2ESB服务器配置的某些部分。第一个https请求始终保持相同的20秒,如果我执行多个https请求,则以下请求的持续时间不到1.5秒。因此,问题可能是执行与ssl连接相关的操作时出现了某种超时

更有用的信息:

wso2server版本:4.8.1 测试的Java版本:1.7.0_45和1.8.0_60 在CARBON_HOME/bin/wso2server.sh中添加参数:-Dhttps.protocols=TLSv1、TLSv1.1、TLSv1.2 来自CARBON_HOME/repository/conf/Tomcat/catalina-server.xml的Tomcat连接器配置:

也许我在axis2.xml配置文件$CARBON_HOME/repository/conf/axis2/axis2.xml?中遗漏了什么?。以下是与以下内容相关的部分:

TransportReceiver https部分: TransportSender https部分: 问题解决了

低性能SSL问题是由网络防火墙中的限制引起的。防火墙正在阻止与DNS服务器的连接,因此WSO2ESB无法正确验证客户端证书和客户端主机名

在防火墙中添加新规则后,WSO2ESB的SSL性能相当好


谢谢。

如果您的问题仍然存在,我很乐意帮助您。但是请你简单地解释一下你要做什么。不必解释到目前为止你做了什么,只需评论一下你将要实现的目标。我终于可以解决这个问题了。该问题是由于计算机由于防火墙限制而无法连接到DNS服务器而导致的。
<Connector  protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8888"
bindOnInit="false"
sslProtocol="TLS"
sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2"
maxHttpHeaderSize="8192"
acceptorThreadCount="2"
maxThreads="250"
minSpareThreads="50"
disableUploadTimeout="false"
enableLookups="false"
connectionUploadTimeout="120000"
maxKeepAliveRequests="200"
acceptCount="200"
server="WSO2 Carbon Server"
clientAuth="false"
compression="on"
scheme="https"
secure="true"
SSLEnabled="true"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="..."
URIEncoding="UTF-8" />

    <transportReceiver name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLListener">
        <parameter name="port" locked="false">8443</parameter>
        <parameter name="non-blocking" locked="false">true</parameter>
        <parameter name="bind-address" locked="false">XXX.XXX.XXX.XXX</parameter>
        <parameter name="WSDLEPRPrefix" locked="false">https://XXX.XXX.XXX.XXX:8443</parameter>
        <parameter name="httpGetProcessor" locked="false">org.wso2.carbon.transport.nhttp.api.PassThroughNHttpGetProcessor
        <parameter name="SSLProtocol">TLSv1.2</parameter>
        <parameter name="keystore" locked="false">
            <KeyStore>
                <Location>repository/resources/security/wso2carbon.jks</Location>
                <Type>JKS</Type>
                <Password>XXX</Password>
                <KeyPassword>XXX</KeyPassword>
            </KeyStore>
        </parameter>
        <parameter name="truststore" locked="false">
            <TrustStore>
                <Location>repository/resources/security/client-truststore.jks</Location>
                <Type>JKS</Type>
                <Password>XXX</Password>
            </TrustStore>
        </parameter>
   </transportReceiver>


    <transportSender name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLSender">
        <parameter name="non-blocking" locked="false">true
        <parameter name="SSLProtocol">TLSv1.2</parameter>
        <parameter name="keystore" locked="false">
            <KeyStore>
                <Location>repository/resources/security/wso2carbon.jks</Location>
                <Type>JKS</Type>
                <Password>XXXX</Password>
                <KeyPassword>XXXX</KeyPassword>
            </KeyStore>
        </parameter>
        <parameter name="truststore" locked="false">
            <TrustStore>
                <Location>repository/resources/security/client-truststore.jks</Location>
                <Type>JKS</Type>
                <Password>XXXXX</Password>
            </TrustStore>
        </parameter>
        <parameter name="HostnameVerifier">AllowAll</parameter>        
    </transportSender>