Drogo
view release on metacpan or search on metacpan
listen $ssl_listen ssl;
set \$is_ssl 1;
set \$ssl_port $ssl_port;
$set_package
server_name $host;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
ssl_certificate $base_path/ssl/cert.pem;
ssl_certificate_key $base_path/ssl/cert.key;
ssl_session_timeout 5m;
#ssl_protocols SSLv2 SSLv3 TLSv1;
#ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_protocols TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
ssl_prefer_server_ciphers on;
gzip on;
$locations
}
|;
}
my $access_log_path = $self->config_option('access_log_path');
my $error_log_path = $self->config_option('error_log_path');
my $access_log = $self->config_option('access_log') eq 'off'
? 'access_log /dev/null main;' : "access_log $access_log_path main;";
my $error_log = $self->config_option('error_log') eq 'off'
? 'error_log /dev/null;' : "error_log $error_log_path;";
my $set_ssl_port = $ssl_port ? " set \$ssl_port $ssl_port; " : '';
my $bootstrap_cfg = $self->config_option('bootstrap') ? "env DISABLE_APP_LOAD=1;" : '';
my $template = qq|
worker_processes $worker_processes;
pid $tmp_path/server.pid;
$error_log
events {
worker_connections $worker_connections;
}
$bootstrap_cfg
http {
include $tmp_path/mime.types;
default_type application/octet-stream;
log_format main '[\$time_local] \$remote_addr - \$request '
'"\$status" \$body_bytes_sent';
$access_log
sendfile on;
keepalive_timeout 65;
perl_modules $base_path/lib;
$perl_requires
server {
listen $listen;
server_name $host;
$set_ssl_port
$set_package
gzip on;
# 640kb ought to be enough for anybody.
# - Bill Gates
client_max_body_size 100M;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
$locations
}
$ssl
}
|;
if ($params{dump})
{
print $template;
}
else
{
open(CT, ">$tmp_path/nginx.conf");
print CT $template;
close(CT);
}
}
sub write_apache2_config
{
my ($self, %params) = @_;
my $base_path = $self->base_path;
my $worker_processes = $self->config_option('worker_processes');
my $worker_connections = $self->config_option('worker_connections');
my $require_module = $self->config_option('require_module');
my $handler = $self->config_option('handler');
my $app_path = $self->config_option('app_path');
my @lj = grep { $_ } (
$self->config_option('bind'), $self->config_option('port')
);
$self->{options}{ssl_port} = $self->config_option('port') + 1000
if $self->config_option('ssl') and not $self->config_option('ssl_port');
# remove when bind is 'all'
shift @lj if $self->config_option('bind') eq 'all';
my $listen = join(':', @lj);
my $host = $self->config_option('host');
( run in 1.922 second using v1.01-cache-2.11-cpan-99c4e6809bf )