The ESB uses a trust store and a keystore for SSL protocol implementation. The Multi-HTTPS transport is similar to the HTTPS-NIO Transport, but it allows you to have different SSL profiles with separate trust stores and keystores for different hosts using the same ESB. The ESB can listen to different host IPs and ports for incoming HTTPS connections, and each IP/Port will have a separate SSL profile configured.
The receiver class is named as follows:
The sender class is named as follows:
Enabling the transport
You enable the Multi-HTTPS transport by adding the following configuration to
Synchronizing the profiles in a cluster
If you are running in a clustered environment and want your SSL profiles to be synchronized across the cluster nodes, you can move the
SSLProfiles parameter from
<ESB_HOME>/repository/deployment/server/multi_ssl_profiles.xml. You then add the
SSLProfilesConfigPath parameter to the Multi-HTTPS transport receiver configuration in
axis2.xml and point to the new destination of the configuration.
For example, the Multi-HTTPS transport configuration in
axis2.xml will now look like this:
To synchronize this configuration between two ESB nodes, you must enable ESB clustering and SVN-Based Deployment Synchronizer. For more information, see Introduction to Deployment Synchronizer. The directory
<ESB_HOME>/repository/deployments/server will then be synchronized on the ESB nodes when they are run in a clustered environment. If you change the
multi_ssl_profiles.xml file, you must manually reload it into each node's ESB by invoking the
reloadSSLProfileConfig in the
org.apache.synapse.MultiSSLProfileReload MBean in JConsole. For more information, see Monitoring the ESB.