View Source ThousandIsland.Transports.SSL (Thousand Island v1.0.0-pre.7)
Defines a ThousandIsland.Transport
implementation based on TCP SSL sockets
as provided by Erlang's :ssl
module. For the most part, users of Thousand
Island will only ever need to deal with this module via transport_options
passed to ThousandIsland
at startup time. A complete list of such options
is defined via the t::ssl.tls_server_option
type. This list can be somewhat
difficult to decipher; by far the most common values to pass to this transport
are the following:
keyfile
: The path to a PEM encoded key to use for SSLcertfile
: The path to a PEM encoded cert to use for SSLip
: The IP to listen on. Can be specified as:{1, 2, 3, 4}
for IPv4 addresses{1, 2, 3, 4, 5, 6, 7, 8}
for IPv6 addresses:loopback
for local loopback:any
for all interfaces (ie:0.0.0.0
){:local, "/path/to/socket"}
for a Unix domain socket. If this option is used, theport
option must be set to0
.
Unless overridden, this module uses the following default options:
backlog: 1024,
nodelay: true,
linger: {true, 30},
send_timeout: 30_000,
send_timeout_close: true,
reuseaddr: true
The following options are required for the proper operation of Thousand Island and cannot be overridden:
mode: :binary,
active: false
Summary
Types
@type listener_socket() :: :ssl.sslsocket()
@type options() :: [:ssl.tls_server_option()]
@type socket() :: :ssl.sslsocket()