These settings relate to network sockets and supported protocols. A single instance of Storm Streaming Server can run multiple virtual hosts (on specific ports) with a specified list of supported protocols.
<VHosts>
<VHost host="127.0.0.1" port="80" isSSL="false">
<Protocols>HTTP, WEBSOCKETS</Protocols>
</VHost>
<VHost host="127.0.0.1" port="1935" isSSL="true">
<Protocols>RTMP</Protocols>
<Certificate path="/etc/ssl/mydomain.jks" password="qwerty" />
</VHost>
</VHosts>
VHost:host | A host or an IP where socket should be opened |
VHost:port | TCP/IP port where should be opened |
VHost:isSSL | Specified whenever this virtual host should run through SSL Layer. Please keep in mind that if this field is set to “true” <Certificate> tag is required |
Protocols | List of protocols supported on this virtual host. Available protocols: HTTP, WEBSOCKETS, RTMP |
Certificate:path | A path to jks certificate file |
Certificate:password | A valid password for the jks file |
In order to enable SSL layer a proper JKS file containing a key & certificate is required. This is a standard for all Java-based application. If you wish to learn how to create a proper JKS file, please check our JKS File Creation guide.
Please keep in mind that for production workloads Java SSL Engine might not be ideal in terms of pure performance. We highly advise combining Storm Streaming Server with Nginx for SSL Encryption/Decryption. You can learn how to do this with our SSL Nginx Passthrough guide.