为什么WSO2 API管理器使用8243而不是443调用已注册HTTPS API的端点?我能';我还没到最后一次发球

为什么WSO2 API管理器使用8243而不是443调用已注册HTTPS API的端点?我能';我还没到最后一次发球,wso2,wso2-am,wso2carbon,Wso2,Wso2 Am,Wso2carbon,我发现WSO2 API管理器存在以下问题(我正在开发WSO2 API管理器6.2.0版本) 我在publisher portal上发布了一个API。此API需要通过HTTPS协议发出POST请求,并将JSON负载作为请求主体 问题在于,发布的API会生成如下的cURL请求: curl -k -X POST "https://MY_SERVER:8243/puntualitest/v1.0.0/puntuali" -H "accept: application/json" -H "Content-

我发现WSO2 API管理器存在以下问题(我正在开发WSO2 API管理器6.2.0版本)

我在publisher portal上发布了一个API。此API需要通过HTTPS协议发出POST请求,并将JSON负载作为请求主体

问题在于,发布的API会生成如下的cURL请求:

curl -k -X POST "https://MY_SERVER:8243/puntualitest/v1.0.0/puntuali" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"header\": { \"msgUid\": \"a36bea3f-6dc6-49d7-9376-XXXXXXX\", \"timestamp\": 1567060509108, \"metadata\": { \"TRACKER_BIZID_REV_CODICE\": \"7175\", \"TRACKER_BIZID_REV_NUMERO\": \"545/2019\" }, \"codApplication\": null, \"codEnte\": null, \"invocationContext\": null, \"caller\": \"SRW\", \"user\": null, \"service\": \"crediti.invioPosizioneCreditoria\" }, \"body\": { \"@dto\": \"binary\", \"content\": \"PD94bWwgdmVyc2lvbj..............+\" }}"
问题是,正如您所看到的,它试图在8243端口上调用最终端点,而不是在标准的HTTPS端口上调用预期的443端口

因此,此调用以连接被拒绝消息错误结束,因为最终端点侦听的是443而不是8243

所以我有一些问题:

  • 如果所选协议是理论上在443上工作的HTTPS,那么为什么WSO2 API管理器尝试在8243端口而不是443端口上调用最终端点

  • 是否有办法将必须使用的最终端点端口设置为443


  • 谢谢

    如果您采取生产案例,您的网关将通过负载平衡器公开,并在端口443中公开。从lb可以实现8243网关服务器的负载平衡。您可以参考[1]来设置负载平衡器

    如果需要,可以更改端口8280和8243。为此,您可以更改位于repository/conf/axis2位置的axis2.xml文件中的内容

    <transportReceiver name="http" class="org.apache.synapse.transport.passthru.PassThroughHttpListener">
            <parameter name="port" locked="false">8280</parameter>
            <parameter name="non-blocking" locked="false">true</parameter>
            <!--parameter name="bind-address" locked="false">hostname or IP address</parameter-->
            <!--parameter name="WSDLEPRPrefix" locked="false">https://apachehost:port/somepath</parameter-->
            <parameter name="httpGetProcessor" locked="false">org.wso2.carbon.mediation.transport.handlers.PassThroughNHttpGetProcessor</parameter>
            <!--<parameter name="priorityConfigFile" locked="false">location of priority configuration file</parameter>-->
        </transportReceiver>
    
    
    8280
    真的
    org.wso2.carbon.mediation.transport.handlers.passthroughHttpGetProcessor
    
    在端口值中,您可以将其更改为80,并且可以找到端口8243的https的类似定义


    [1] -

    如果您采取生产案例,您的网关将通过负载平衡器公开,并在端口443中公开。从lb可以实现8243网关服务器的负载平衡。您可以参考[1]来设置负载平衡器

    如果需要,可以更改端口8280和8243。为此,您可以更改位于repository/conf/axis2位置的axis2.xml文件中的内容

    <transportReceiver name="http" class="org.apache.synapse.transport.passthru.PassThroughHttpListener">
            <parameter name="port" locked="false">8280</parameter>
            <parameter name="non-blocking" locked="false">true</parameter>
            <!--parameter name="bind-address" locked="false">hostname or IP address</parameter-->
            <!--parameter name="WSDLEPRPrefix" locked="false">https://apachehost:port/somepath</parameter-->
            <parameter name="httpGetProcessor" locked="false">org.wso2.carbon.mediation.transport.handlers.PassThroughNHttpGetProcessor</parameter>
            <!--<parameter name="priorityConfigFile" locked="false">location of priority configuration file</parameter>-->
        </transportReceiver>
    
    
    8280
    真的
    org.wso2.carbon.mediation.transport.handlers.passthroughHttpGetProcessor
    
    在端口值中,您可以将其更改为80,并且可以找到端口8243的https的类似定义


    [1] -

    这个人的建议怎么样?这个人的建议怎么样?我想如果你想把帖子改成80和443,你必须用sudo启动服务器。如果你想把帖子改成80和443,你必须用sudo启动服务器。