include '::apache'
apache::vhost { $::fqdn:
servername => "${::fqdn}:8140",
serveraliases => [ 'puppet', "puppet.${::domain}" ],
port => 8140,
docroot => '/var/www/html',
ssl => true,
ssl_ca => '/etc/puppetlabs/puppet/ssl/certs/ca.pem',
ssl_cert => "/etc/puppetlabs/puppet/ssl/certs/${::fqdn}.pem",
ssl_key => "/etc/puppetlabs/puppet/ssl/private_keys/${::fqdn}.pem",
ssl_crl => '/etc/puppetlabs/puppet/ssl/crl.pem',
ssl_verify_client => 'optional',
ssl_verify_depth => 1,
ssl_proxyengine => true,
ssl_options => ['+StdEnvVars', '+ExportCertData'],
proxy_pass_match => [
{ 'path' => '^/([^/]+/certificate.*)$',
'url' => 'https://puppetca:8140/$1' },
{ 'path' => '/(.*)',
'url' => 'http://localhost:18140/$1' },
],
request_headers => [
'set X-Client-Verify %{SSL_CLIENT_VERIFY}e',
'set X-Client-DN %{SSL_CLIENT_S_DN}e',
#'set X-Client-Cert %{SSL_CLIENT_CERT}e', # disabled because of bug SERVER-217
'edit X-Client-DN ^/(CN=.+)$ $1', # workaround for bug SERVER-213
]
}