Net::Server::Proto::SSLEAY (3)
Leading comments
Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) Standard preamble: ========================================================================
NAME
Net::Server::Proto::SSLEAY - Custom Net::Server SSL protocol handler based on Net::SSLeay.SYNOPSIS
See Net::Server::Proto.
use base qw(Net::Server::HTTP); main->run( proto => 'ssleay', SSL_key_file => "/path/to/my/file.key", SSL_cert_file => "/path/to/my/file.crt", ); # OR sub SSL_key_file { "/path/to/my/file.key" } sub SSL_cert_file { "/path/to/my/file.crt" } main->run(proto => 'ssleay'); # OR main->run( port => [443, 8443, "80/tcp"], # bind to two ssleay ports and one tcp proto => "ssleay", # use ssleay as the default ipv => "*", # bind both IPv4 and IPv6 interfaces SSL_key_file => "/path/to/my/file.key", SSL_cert_file => "/path/to/my/file.crt", ); # OR main->run(port => [{ port => "443", proto => "ssleay", # ipv => 4, # default - only do IPv4 SSL_key_file => "/path/to/my/file.key", SSL_cert_file => "/path/to/my/file.crt", }, { port => "8443", proto => "ssleay", ipv => "*", # IPv4 and IPv6 SSL_key_file => "/path/to/my/file2.key", # separate key SSL_cert_file => "/path/to/my/file2.crt", # separate cert }]);
DESCRIPTION
This module has reliably been used in situations receiving millions of hits on a single box per day. If anybody has any successes or ideas for improvement underSSLEAY,
please email <paul@seamons.com>.
Protocol module for Net::Server. This module implements a secure socket layer over tcp (also known as
SSL
). See Net::Server::Proto.
If you need more customization of the
SSL
layer, you may want to
investigate using SSL
rather than SSLEAY
as it uses the venerable(ish)
IO::Socket::SSL.
PARAMETERS
Currently there is support for the following:- SSL_cert_file
-
Full path to the certificate file to be used for this server. Should
be in PEMformat.
- SSL_key_file
-
Full path to the key file to be used for this server. Should be in
PEMformat.
- SSL_max_getline_length
- Used during getline to only read until this many bytes are found. Default is undef which means unlimited.
- SSL_error_callback
- Should be a code ref that will be called whenever error conditions are encountered. It passes a source message and an arrayref of the errors.
METHODS
This module implements most of the common file handle operations. There are some additions though:- read_until
- Takes bytes and match qr. If bytes is defined - it will read until that many bytes are found. If match qr is defined, it will read until the buffer matches that qr. If both are undefined, it will read until there is nothing left to read.
- error
- If an error occurred while writing, this method will return that error.
BUGS
There are probably many.LICENCE
Distributed under the same terms as Net::ServerTHANKS
Thanks to Bilbo at devpit.org/wiki/OpenSSL_with_nonblocking_sockets_%28in_Perl%29 for documenting a more reliable way of accepting and readingSSL
connections.