class

LavinMQ::SNIHost

Inherits Reference < Object

Configuration for a specific SNI hostname. Only the certificate and mTLS settings can differ per host: the TLS version is selected before the servername callback swaps the context, and the listener's cipher settings are set when the contexts are built, as TLS 1.2 picks its cipher after.

Constants

Log = LavinMQ::Log.for("sni")

Constructors

new(hostname : String)
Source

Instance methods

amqp_tls_ca_cert
Source
amqp_tls_ca_cert=(amqp_tls_ca_cert : String | Nil)
Source
amqp_tls_cert

AMQP-specific overrides (nil/empty means use the default)

Source
amqp_tls_cert=(amqp_tls_cert : String | Nil)

AMQP-specific overrides (nil/empty means use the default)

Source
amqp_tls_context

Built by build_tls_contexts; reading one before that raises

Source
amqp_tls_context?

Built by build_tls_contexts; reading one before that raises

Source
amqp_tls_key
Source
amqp_tls_key=(amqp_tls_key : String | Nil)
Source
amqp_tls_keylog_file
Source
amqp_tls_keylog_file=(amqp_tls_keylog_file : String | Nil)
Source
amqp_tls_verify_peer
Source
amqp_tls_verify_peer=(amqp_tls_verify_peer : Bool | Nil)
Source
build_tls_contexts(ciphers : String, ciphersuites : String) : Nil

Builds the TLS context for every protocol, with the listener's cipher settings. Config runs this when it parses the SNI sections.

Source
hostname
Source
hostname=(hostname : String)
Source
http_tls_ca_cert
Source
http_tls_ca_cert=(http_tls_ca_cert : String | Nil)
Source
http_tls_cert

HTTP-specific overrides (nil/empty means use the default)

Source
http_tls_cert=(http_tls_cert : String | Nil)

HTTP-specific overrides (nil/empty means use the default)

Source
http_tls_context
Source
http_tls_context?
Source
http_tls_key
Source
http_tls_key=(http_tls_key : String | Nil)
Source
http_tls_keylog_file
Source
http_tls_keylog_file=(http_tls_keylog_file : String | Nil)
Source
http_tls_verify_peer
Source
http_tls_verify_peer=(http_tls_verify_peer : Bool | Nil)
Source
mqtt_tls_ca_cert
Source
mqtt_tls_ca_cert=(mqtt_tls_ca_cert : String | Nil)
Source
mqtt_tls_cert

MQTT-specific overrides (nil/empty means use the default)

Source
mqtt_tls_cert=(mqtt_tls_cert : String | Nil)

MQTT-specific overrides (nil/empty means use the default)

Source
mqtt_tls_context
Source
mqtt_tls_context?
Source
mqtt_tls_key
Source
mqtt_tls_key=(mqtt_tls_key : String | Nil)
Source
mqtt_tls_keylog_file
Source
mqtt_tls_keylog_file=(mqtt_tls_keylog_file : String | Nil)
Source
mqtt_tls_verify_peer
Source
mqtt_tls_verify_peer=(mqtt_tls_verify_peer : Bool | Nil)
Source
tls_ca_cert
Source
tls_ca_cert=(tls_ca_cert : String)
Source
tls_cert

Default TLS settings (used by all protocols unless overridden)

Source
tls_cert=(tls_cert : String)

Default TLS settings (used by all protocols unless overridden)

Source
tls_key
Source
tls_key=(tls_key : String)
Source
tls_keylog_file
Source
tls_keylog_file=(tls_keylog_file : String)
Source
tls_verify_peer=(tls_verify_peer : Bool)
Source
tls_verify_peer?
Source