{% set TRUE_VALUES = ['y', 'yes', '1', 'true'] -%}
# Only accept generic (i.e not Zope) backends on http
<VirtualHost *:{{ cached_port }}>
  ServerName {{ slave_parameter.get('custom_domain') }}
{%- if 'server-alias' in slave_parameter -%}
  {% set server_alias_list =  slave_parameter.get('server-alias', '').split() %}
  {%- for server_alias in server_alias_list %}
  ServerAlias {{ server_alias }}
  {% endfor %}
{%- endif %}
  SSLProxyEngine on

{% set ssl_proxy_verify = ('' ~ slave_parameter.get('ssl-proxy-verify', '')).lower() in TRUE_VALUES -%}
{% if ssl_proxy_verify -%}
{%   if 'ssl_proxy_ca_crt' in slave_parameter -%}
  SSLProxyCACertificateFile {{ slave_parameter.get('path_to_ssl_proxy_ca_crt', '') }}
{%   endif %}
  SSLProxyVerify require
  #SSLProxyCheckPeerCN on
  SSLProxyCheckPeerExpire on
{% endif %}
  # Rewrite part
  ProxyPreserveHost On
  ProxyTimeout 600
  RewriteEngine On

  RewriteRule ^/(.*)$ {{ slave_parameter.get('backend_url', '') }}/$1 [L,P]

</VirtualHost>

<VirtualHost *:{{ ssl_cached_port }}>
  ServerName {{ slave_parameter.get('custom_domain') }}
{%- if 'server-alias' in slave_parameter -%}
  {% set server_alias_list =  slave_parameter.get('server-alias', '').split() %}
  {%- for server_alias in server_alias_list %}
  ServerAlias {{ server_alias }}
  {% endfor %}
{%- endif %}
  SSLProxyEngine on

{% set ssl_proxy_verify = ('' ~ slave_parameter.get('ssl-proxy-verify', '')).lower() in TRUE_VALUES -%}
{% if ssl_proxy_verify -%}
{%   if 'ssl_proxy_ca_crt' in slave_parameter -%}
  SSLProxyCACertificateFile {{ slave_parameter.get('path_to_ssl_proxy_ca_crt', '') }}
{%   endif %}
  SSLProxyVerify require
  #SSLProxyCheckPeerCN on
  SSLProxyCheckPeerExpire on
{% endif %}
  # Rewrite part
  ProxyPreserveHost On
  ProxyTimeout 600
  RewriteEngine On

  RewriteRule ^/(.*)$ {{ slave_parameter.get('https_backend_url', '') }}/$1 [L,P]
</VirtualHost>

