{
    "mode": "perldoc",
    "parameter": "Net::Server::Proto::SSLEAY",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AServer%3A%3AProto%3A%3ASSLEAY/json",
    "generated": "2026-06-11T16:19:01Z",
    "synopsis": "See Net::Server::Proto.\nuse base qw(Net::Server::HTTP);\nmain->run(\nproto => 'ssleay',\nSSLkeyfile  => \"/path/to/my/file.key\",\nSSLcertfile => \"/path/to/my/file.crt\",\n);\n# OR\nsub SSLkeyfile  { \"/path/to/my/file.key\" }\nsub SSLcertfile { \"/path/to/my/file.crt\" }\nmain->run(proto => 'ssleay');\n# OR\nmain->run(\nport => [443, 8443, \"80/tcp\"],  # bind to two ssleay ports and one tcp\nproto => \"ssleay\",    # use ssleay as the default\nipv  => \"*\",          # bind both IPv4 and IPv6 interfaces\nSSLkeyfile  => \"/path/to/my/file.key\",\nSSLcertfile => \"/path/to/my/file.crt\",\n);\n# OR\nmain->run(port => [{\nport  => \"443\",\nproto => \"ssleay\",\n# ipv => 4, # default - only do IPv4\nSSLkeyfile  => \"/path/to/my/file.key\",\nSSLcertfile => \"/path/to/my/file.crt\",\n}, {\nport  => \"8443\",\nproto => \"ssleay\",\nipv   => \"*\", # IPv4 and IPv6\nSSLkeyfile  => \"/path/to/my/file2.key\", # separate key\nSSLcertfile => \"/path/to/my/file2.crt\", # separate cert\n}]);",
    "sections": {
        "NAME": {
            "content": "Net::Server::Proto::SSLEAY - Custom Net::Server SSL protocol handler based on Net::SSLeay.\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "See Net::Server::Proto.\n\nuse base qw(Net::Server::HTTP);\nmain->run(\nproto => 'ssleay',\nSSLkeyfile  => \"/path/to/my/file.key\",\nSSLcertfile => \"/path/to/my/file.crt\",\n);\n\n\n# OR\n\nsub SSLkeyfile  { \"/path/to/my/file.key\" }\nsub SSLcertfile { \"/path/to/my/file.crt\" }\nmain->run(proto => 'ssleay');\n\n\n# OR\n\nmain->run(\nport => [443, 8443, \"80/tcp\"],  # bind to two ssleay ports and one tcp\nproto => \"ssleay\",    # use ssleay as the default\nipv  => \"*\",          # bind both IPv4 and IPv6 interfaces\nSSLkeyfile  => \"/path/to/my/file.key\",\nSSLcertfile => \"/path/to/my/file.crt\",\n);\n\n\n# OR\n\nmain->run(port => [{\nport  => \"443\",\nproto => \"ssleay\",\n# ipv => 4, # default - only do IPv4\nSSLkeyfile  => \"/path/to/my/file.key\",\nSSLcertfile => \"/path/to/my/file.crt\",\n}, {\nport  => \"8443\",\nproto => \"ssleay\",\nipv   => \"*\", # IPv4 and IPv6\nSSLkeyfile  => \"/path/to/my/file2.key\", # separate key\nSSLcertfile => \"/path/to/my/file2.crt\", # separate cert\n}]);\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "This module has reliably been used in situations receiving millions of hits on a single box per\nday. If anybody has any successes or ideas for improvement under SSLEAY, please email\n<paul@seamons.com>.\n\nProtocol module for Net::Server. This module implements a secure socket layer over tcp (also\nknown as SSL). See Net::Server::Proto.\n\nIf you need more customization of the SSL layer, you may want to investigate using SSL rather\nthan SSLEAY as it uses the venerable(ish) IO::Socket::SSL.\n",
            "subsections": []
        },
        "PARAMETERS": {
            "content": "Currently there is support for the following:\n\n\"SSLcertfile\"\nFull path to the certificate file to be used for this server. Should be in PEM format.\n\n\"SSLkeyfile\"\nFull path to the key file to be used for this server. Should be in PEM format.\n\n\"SSLmaxgetlinelength\"\nUsed during getline to only read until this many bytes are found. Default is undef which\nmeans unlimited.\n\n\"SSLerrorcallback\"\nShould be a code ref that will be called whenever error conditions are encountered. It\npasses a source message and an arrayref of the errors.\n",
            "subsections": []
        },
        "METHODS": {
            "content": "This module implements most of the common file handle operations. There are some additions\nthough:\n\n\"readuntil\"\nTakes bytes and match qr. If bytes is defined - it will read until that many bytes are\nfound. If match qr is defined, it will read until the buffer matches that qr. If both are\nundefined, it will read until there is nothing left to read.\n\n\"error\"\nIf an error occurred while writing, this method will return that error.\n",
            "subsections": []
        },
        "BUGS": {
            "content": "There are probably many.\n",
            "subsections": []
        },
        "LICENCE": {
            "content": "Distributed under the same terms as Net::Server\n",
            "subsections": []
        },
        "THANKS": {
            "content": "Thanks to Bilbo at http://devpit.org/wiki/OpenSSLwithnonblockingsockets%28inPerl%29 for\ndocumenting a more reliable way of accepting and reading SSL connections.\n",
            "subsections": []
        }
    },
    "summary": "Net::Server::Proto::SSLEAY - Custom Net::Server SSL protocol handler based on Net::SSLeay.",
    "flags": [],
    "examples": [],
    "see_also": []
}