# ************************************
# Vhost template in module puppetlabs-apache
# Managed by Puppet
# ************************************
# 
<VirtualHost *:443>
  ServerName demo-old.ofbiz.apache.org

  ## Vhost docroot
  DocumentRoot "/var/www/ofbiz/big-files"

  ## Directories, there should at least be a declaration for /var/www/ofbiz/big-files

  <Directory "/var/www/ofbiz/big-files">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Require all granted
  </Directory>

  ## Logging
  ErrorLog "/var/log/apache2/ofbiz-ssl-old_error.log"
  ServerSignature Off
  CustomLog "/var/log/apache2/ofbiz-ssl-old.apache.org.http_access.log" combined 

  ## SSL directives
  SSLEngine on
  SSLCertificateFile      "/etc/letsencrypt/live/ofbiz-vm3.apache.org/cert.pem"
  SSLCertificateKeyFile   "/etc/letsencrypt/live/ofbiz-vm3.apache.org/privkey.pem"
  SSLCertificateChainFile "/etc/letsencrypt/live/ofbiz-vm3.apache.org/chain.pem"

  ## Custom fragment
  ProxyRequests Off
ProxyPreserveHost On
# do not proxy letsencrypt cert renewal requests
ProxyPass /.well-known !
ProxyPass / ajp://localhost:28009/
ProxyPassReverse / ajp://localhost:28009/
Header set Access-Control-Allow-Origin "https://localhost:28009"
Header set Access-Control-Allow-Headers "Authorization"
Header set Access-Control-Allow-Credentials "true"
ProxyErrorOverride On
ErrorDocument 503 https://ofbiz-vm3.apache.org/errorPage/503.html

</VirtualHost>
