diff --git a/apache/manifests/init.pp b/apache/manifests/init.pp index 8f3ceed..5aff605 100644 --- a/apache/manifests/init.pp +++ b/apache/manifests/init.pp @@ -308,8 +308,10 @@ define apache::sslsite($first=false, $hsts=false, $ipaddr="_default_", $root="", include apache::mod::headers } - if $name =~ /:([0-9]+)$/ { - $port = $1 + if $name =~ /(.*):([0-9]+)$/ { + $site = $1 + $port = $2 + $name_real = "${site}.${port}" if ! defined(Apache::Configfile["listen_${port}.conf"]) { apache::configfile { "listen_${port}.conf": http => false, @@ -318,12 +320,13 @@ define apache::sslsite($first=false, $hsts=false, $ipaddr="_default_", $root="", } } else { $port = "443" + $name_real = $name } case $::operatingsystem { "debian","ubuntu": { $apache_ssldir = "/etc/ssl" - apache::debian::sslsite { $name: + apache::debian::sslsite { $name_real: first => $first, hsts => $hsts, ipaddr => $ipaddr, @@ -338,7 +341,7 @@ define apache::sslsite($first=false, $hsts=false, $ipaddr="_default_", $root="", } "centos","redhat","fedora": { $apache_ssldir = "/etc/pki/tls" - apache::redhat::sslsite { $name: + apache::redhat::sslsite { $name_real: first => $first, hsts => $hsts, ipaddr => $ipaddr, @@ -356,9 +359,9 @@ define apache::sslsite($first=false, $hsts=false, $ipaddr="_default_", $root="", } } - $site_fqdn = $name ? { + $site_fqdn = $name_real ? { "default" => $::homename, - default => $name, + default => $name_real, } apache::webalizer::site { "https/${site_fqdn}": site_proto => "https", diff --git a/apache/templates/site.https.conf.erb b/apache/templates/site.https.conf.erb index 87860ce..c249234 100644 --- a/apache/templates/site.https.conf.erb +++ b/apache/templates/site.https.conf.erb @@ -1,7 +1,7 @@ :<%= @port %>> # General setup for the virtual host, inherited from global configuration -ServerName <%= @site_fqdn %> +ServerName <%= @site_fqdn.sub(/\.([0-9]+)$/, ':\1') %> # Use separate log files for the SSL virtual host; note that LogLevel # is not inherited from httpd.conf.