# begin vhost for <%= title %>
:<%= scope.lookupvar('apache::http_port') %>>
ServerName <%= title %>.<%= hosting_domain %>
<% if server_alias != false %> ServerAlias <%= server_alias %><% end %>
DocumentRoot <%= docroot %>
<% if https_redirect != false or canonical != false %>
RewriteEngine On
<% end -%>
<% if https_redirect != false %>
# Redirect all HTTP to HTTPS
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [redirect=301]<% end %>
<% if redirect_match != false %> RedirectMatch ^/$ <%= protocol %>://<%= title %>.<%= hosting_domain %>/<%= redirect_match %><% end %>
<% if redirect != false %> Redirect <%= redirect %><% end %>
<% if aliases != false %><% aliases.each do |map| -%>
Alias <%= map %>
<% end -%><% end -%>
<% if use != false %><% use.each do |instance| -%>
Use <%= instance %>
<% end -%><% end -%>
<% if mpm == true %>
AssignUserId <%= user %> <%= gid %>
<% end %>
<% if canonical != false %>
<%- for canonical_exception in canonical_exceptions -%>
RewriteCond %{HTTP_HOST} !=<%= canonical_exception %> [NC]
<%- end -%>
RewriteCond %{HTTP_HOST} !=<%= canonical %> [NC]
RewriteCond %{HTTP_HOST} !=""
RewriteRule ^/(.*) <%= protocol %>://<%= canonical %>/$1 [L,R=301]
<% end %>
<% if custom_directives != false -%>
<%= custom_directives %>
<% end -%>
# end vhost for <%= title %>
<% if ssl == true %>
# begin ssl vhost for <%= title %>
:<%= scope.lookupvar('apache::https_port') %>>
# Use HTTP Strict Transport Security to force client to use secure connections only
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains"
ServerName <%= title %>.<%= hosting_domain %>
<% if server_alias != false %> ServerAlias <%= server_alias %><% end %>
DocumentRoot <%= docroot %>
<% if redirect_match != false %> RedirectMatch ^/$ <%= protocol %>://<%= title %>.<%= hosting_domain %>/<%= redirect_match %><% end %>
<% if redirect != false %> Redirect <%= redirect %><% end %>
<% if aliases != false %><% aliases.each do |map| -%>
Alias <%= map %>
<% end -%><% end -%>
<% if use != false %><% use.each do |instance| -%>
Use <%= instance %>
<% end -%><% end -%>
<% if custom_directives != false -%>
<%= custom_directives %>
<% end -%>
<% if mpm == true %>
AssignUserId <%= user %> <%= gid %>
<% end %>
# SSL Configuration
SSLEngine on
SSLProtocol -ALL -SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2
SSLCipherSuite ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:!RC4:HIGH:!MD5:!aNULL:!EDH
SSLHonorCipherOrder on
SSLCompression off
SSLCertificateFile /etc/ssl/certs/<%= title %>.crt
SSLCertificateKeyFile /etc/ssl/private/<%= title %>.pem
# end ssl vhost for <%= title %>
<% end %>