Below is a breakdown of the HostManager
object made available through the Server.hosts
property allowing for support of multiple hostnames with their own SSL configurations.
// Let's support example.com with it's own SSL configuration
server.hosts.add('example.com', {
cert_file_name: 'path/to/example.com/cert',
key_file_name: 'path/to/example.com/key'
});
// Bind a handler which is called on requests that do not come from a supported hostname
server.hosts.on('missing', (hostname) => {
// Note! This event handler should be treated synchronously only
// uWebsockets.js expects you to register an appropriate handler for the incoming request in this synchronous execution
switch (hostname) {
case 'example2.com':
return server.hosts.add(hostname, {
cert_file_name: 'path/to/example2.com/cert',
key_file_name: 'path/to/example2.com/key'
});
}
});
Property | Type | Description |
---|---|---|
registered |
Object<string, HostOptions> |
All of the registered host configurations. |
add(hostname: string, options: HostOptions)
: Registers the unique host options to use for the specified hostname for incoming requests.- Returns the self
HostManager
instance. HostOptions
:passphrase
[String
]: Strong passphrase for SSL cryptographic purposes.cert_file_name
[String
]: Path to SSL certificate file to be used for SSL/TLS.key_file_name
[String
]: Path to SSL private key file to be used for SSL/TLS.dh_params_file_name
[String
]: Path to file containing Diffie-Hellman parameters.ssl_prefer_low_memory_usage
[Boolean
]: Whether to prefer low memory usage over high performance.
- Returns the self
remove(hostname: string)
: Un-Registers the unique host options to use for the specified hostname for incoming requests.- Returns the self
HostManager
instance.
- Returns the self