use strict; use warnings; my $s = Server->new(@ARGV); $s->background( SSL_cert_file => '/etc/ssl/apache2/server.crt', SSL_key_file => '/etc/ssl/apache2/server.key', ); exit; package Server; use base 'HTTP::Server::Simple::CGI'; sub net_server { 'Net::Server::PreFork' } #### 2011/04/26-15:03:18 Server::NetServer0 (type Net::Server::PreFork) starting! pid(6116) Using default listen value of 128 Binding to SSLEAY port 12345 on host * SSLeay missing SSL_key_file. #### use strict; use warnings; our $real_stdout; open $real_stdout, '>&', \*STDOUT or die "Can't write to stdout"; my $s = Server->new(@ARGV); $s->background( SSL_cert_file => '/etc/ssl/apache2/server.crt', SSL_key_file => '/etc/ssl/apache2/server.key', ); exit; package Server; use base 'HTTP::Server::Simple::CGI'; sub net_server { 'Net::Server::PreFork::SSL' } package Net::Server::PreFork::SSL; use base 'Net::Server::PreFork'; use Data::Dumper; sub options { my $self = shift; my $prop = $self->{server}; my $ref = shift; $self->SUPER::options($ref); foreach my $p (qw(SSL_cert_file SSL_key_file)) { $prop->{$p} = undef unless exists $prop->{$p}; $ref->{$p} = \$prop->{$p}; } } sub Net::Server::TiedHandle::BINMODE { } #my $s = shift; $s->[1] ? $s->[1]->($s->[0], 'binmode', @_) : $s->[0]->binmode(@_) }