Wso2 权限被拒绝,HTTPS ListingIOReactor遇到已检查的异常

Wso2 权限被拒绝,HTTPS ListingIOReactor遇到已检查的异常,wso2,Wso2,启动WSO2 ELB时,当系统尝试启动直通HTTP和HTTPS侦听器时,日志中出现以下错误: WARN {org.apache.synapse.transport.passthru.PassThroughHttpSSLListener} - System may be unstable: HTTPS ListeningIOReactor encountered a checked exception : Permission denied {org.apache.synapse.transpo

启动WSO2 ELB时,当系统尝试启动直通HTTP和HTTPS侦听器时,日志中出现以下错误:

WARN {org.apache.synapse.transport.passthru.PassThroughHttpSSLListener} -  System may be unstable: HTTPS ListeningIOReactor encountered a checked exception : Permission denied {org.apache.synapse.transport.passthru.PassThroughHttpSSLListener}
为什么拒绝许可?这是文件权限吗?如果是,应将哪个文件/dir更改为哪个设置?还是完全是别的原因

以下是axis2.xml中的相关设置:

   <transportReceiver name="http" class="org.apache.synapse.transport.passthru.PassThroughHttpListener">
      <parameter name="port">80</parameter>
      <parameter name="non-blocking"> true</parameter>
      <parameter name="httpGetProcessor" locked="false">org.wso2.carbon.transport.nhttp.api.PassThroughNHttpGetProcessor</parameter>
   </transportReceiver>
   <transportReceiver name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLListener">
        <parameter name="port" locked="false">443</parameter>
        <parameter name="non-blocking" locked="false">true</parameter>
        <parameter name="httpGetProcessor" locked="false">org.wso2.carbon.transport.nhttp.api.PassThroughNHttpGetProcessor</parameter>
        <!--parameter name="bind-address" locked="false">hostname or IP address</parameter-->
        <!--parameter name="WSDLEPRPrefix" locked="false">https://apachehost:port/somepath</parameter-->
        <parameter name="keystore" locked="false">
            <KeyStore>
                <Location>repository/resources/security/wso2carbon.jks</Location>
                <Type>JKS</Type>
                <Password>wso2carbon</Password>
                <KeyPassword>wso2carbon</KeyPassword>
            </KeyStore>
        </parameter>
        <parameter name="truststore" locked="false">
            <TrustStore>
                <Location>repository/resources/security/client-truststore.jks</Location>
                <Type>JKS</Type>
                <Password>wso2carbon</Password>
            </TrustStore>
        </parameter>
        <!--<parameter name="SSLVerifyClient">require</parameter>
            supports optional|require or defaults to none -->
    </transportReceiver>

80
符合事实的
org.wso2.carbon.transport.nhttp.api.passthroughntpGetProcessor
443
符合事实的
org.wso2.carbon.transport.nhttp.api.passthroughntpGetProcessor
repository/resources/security/wso2carbon.jks
JKS
WSO2碳
WSO2碳
repository/resources/security/client-truststore.jks
JKS
WSO2碳
我只更改了HTTP和HTTPS的端口参数。其余的设置是标准设置,因为这是一个测试环境

先谢谢你


更新:如果我将端口保留为默认值8280(HTTP)和8243(HTTPS),则不会出错。

您可以通过更改wso2_home/repository/conf/carbon.xml中的偏移量来更改端口。请参考wso2维基,以进一步了解此功能的概念。您不必设置任何文件,只需更改偏移量即可相应地更改所需的其他端口

例如。 默认端口偏移量为0,http和https的端口分别为8280和8243


如果将其更改为1,则http和https的端口分别为8281和8244

问题与端口偏移量无关。由于1024以下的端口只能由root用户打开,因此导致权限被拒绝异常。 您可以尝试以下解决方案之一:

  • 您可以使用root用户运行WSO2 ELB
  • 如果您使用的是unix操作系统,则可以使用iptables重定向端口,如下例所示:

    iptables-t nat-A预路由-p tcp-dport 80-j重定向-到端口8080

    iptables-tnat-I输出-ptcp-d127.0.0.1--dport80-j重定向--8080端口
    


  • WSO2 ELB安装在自己的虚拟服务器上,没有其他WSO2产品;目前也只有一个厄尔巴鄂。我确信,在这种情况下,carbon.xml中的端口偏移量是不必要的。无论如何,即使我更改了carbon.xml中的端口偏移量,错误仍然存在。因此,您是否能够确保这些端口可供访问?否,更改carbon.xml中的端口偏移量并没有解决问题。目前,我将继续将端口保留为默认设置8280 en 8243。