是否可以在 WSO2 ESB 上为 API 启用 HTTPS 协议?
https ://localhost:8280/api/mySslApi
您可以简单地调用 API 的 HTTPS 端点,默认情况下它是启用的。请注意,HTTPS 端口是 8243 而不是 8280。
https://localhost:8243/api/mySslApi
默认情况下它已经启用,如果你按照 axi2.xml 配置,你会发现下面的细节,
1.对于Http
<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>
2.对于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="HttpsProtocols">TLSv1,TLSv1.1,TLSv1.2</parameter>
是的,在 WSO2 ESB 中,当我们想要保护 REST API 时,我们可以简单地通过 HTTPS 使其可用,如下所示。
<resource uri-template="/view/{symbol}" methods="GET" protocol="https">
并让安全处理程序验证凭据。
<handlers>
<handler class="org.wso2.rest.BasicAuthHandler"/>
</handlers>
我们目前通过发布者支持 BasicAuth/usernametoken 安全端点。如果发生握手错误,您可能需要编辑“HostnameVerifier”参数的axis2.xml。请查看以下链接以获取更多详细信息。 http://docs.wso2.org/wiki/display/AM131/Adding+an+API