Skip to content

Commit c0d6464

Browse files
author
Abel Navarro
committed
Extend vhost proxy options
Added the Apache vhost proxy config option SSLProxyMachineCertificateChainFile. Reference: https://httpd.apache.org/docs/current/mod/mod_ssl.html#sslproxymachinecertificatechainfile
1 parent c610f78 commit c0d6464

File tree

3 files changed

+27
-0
lines changed

3 files changed

+27
-0
lines changed

REFERENCE.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9070,6 +9070,20 @@ apache::vhost { 'sample.example.net':
90709070

90719071
Default value: `undef`
90729072

9073+
##### `ssl_proxy_machine_cert_chain`
9074+
9075+
Data type: `Any`
9076+
9077+
Sets the [SSLProxyMachineCertificateChainFile](https://httpd.apache.org/docs/current/mod/mod_ssl.html#sslproxymachinecertificatechainfile)
9078+
directive, which specifies an all-in-one file where you keep the certificate chain for
9079+
all of the client certs in use. This directive will be needed if the remote server
9080+
presents a list of CA certificates that are not direct signers of one of the configured
9081+
client certificates. This referenced file is simply the concatenation of the various
9082+
PEM-encoded certificate files. Upon startup, each client certificate configured will be
9083+
examined and a chain of trust will be constructed.
9084+
9085+
Default value: `undef`
9086+
90739087
##### `ssl_proxy_check_peer_cn`
90749088

90759089
Data type: `Optional[Enum['on', 'off']]`

manifests/vhost.pp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1592,6 +1592,14 @@
15921592
# ssl_proxy_machine_cert => '/etc/httpd/ssl/client_certificate.pem',
15931593
# }
15941594
# ```
1595+
# @param ssl_proxy_machine_cert_chain
1596+
# Sets the [SSLProxyMachineCertificateChainFile](https://httpd.apache.org/docs/current/mod/mod_ssl.html#sslproxymachinecertificatechainfile)
1597+
# directive, which specifies an all-in-one file where you keep the certificate chain for
1598+
# all of the client certs in use. This directive will be needed if the remote server
1599+
# presents a list of CA certificates that are not direct signers of one of the configured
1600+
# client certificates. This referenced file is simply the concatenation of the various
1601+
# PEM-encoded certificate files. Upon startup, each client certificate configured will be
1602+
# examined and a chain of trust will be constructed.
15951603
#
15961604
# @param ssl_proxy_check_peer_cn
15971605
# Sets the [SSLProxyCheckPeerCN](https://httpd.apache.org/docs/current/mod/mod_ssl.html#sslproxycheckpeercn)
@@ -1726,6 +1734,7 @@
17261734
Optional[Enum['on', 'off']] $ssl_proxy_check_peer_name = undef,
17271735
Optional[Enum['on', 'off']] $ssl_proxy_check_peer_expire = undef,
17281736
$ssl_proxy_machine_cert = undef,
1737+
$ssl_proxy_machine_cert_chain = undef,
17291738
$ssl_proxy_cipher_suite = undef,
17301739
$ssl_proxy_protocol = undef,
17311740
$ssl_options = undef,
@@ -2475,6 +2484,7 @@
24752484
# - $ssl_proxy_check_peer_name
24762485
# - $ssl_proxy_check_peer_expire
24772486
# - $ssl_proxy_machine_cert
2487+
# - $ssl_proxy_machine_cert_chain
24782488
# - $ssl_proxy_protocol
24792489
if $ssl_proxyengine {
24802490
concat::fragment { "${name}-sslproxy":

templates/vhost/_sslproxy.erb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
<%- if @ssl_proxy_machine_cert -%>
2424
SSLProxyMachineCertificateFile "<%= @ssl_proxy_machine_cert %>"
2525
<%- end -%>
26+
<%- if @ssl_proxy_machine_cert_chain -%>
27+
SSLProxyMachineCertificateChainFile "<%= @ssl_proxy_machine_cert_chain %>"
28+
<%- end -%>
2629
<%- if @ssl_proxy_cipher_suite -%>
2730
SSLProxyCipherSuite <%= @ssl_proxy_cipher_suite %>
2831
<%- end -%>

0 commit comments

Comments
 (0)