|
- {# Define default values here so the template below can just focus on layout #}
- {% from "apache/map.jinja" import apache with context %}
- {% set sitename = site.get('ServerName', id) %}
-
- {% set vals = {
- 'interface': site.get('interface', '*'),
- 'port': site.get('port', '80'),
-
- 'ServerName': sitename,
- 'ServerAlias': site.get('ServerAlias', 'www.{0}'.format(sitename)),
-
- 'ServerAdmin': site.get('ServerAdmin', 'webmaster@{0}'.format(sitename)),
-
- 'UseCanonicalName': site.get('UseCanonicalName'),
-
- 'LogLevel': site.get('LogLevel', 'warn'),
- 'ErrorLog': site.get('ErrorLog', '{0}/{1}-error.log'.format(map.logdir, sitename)),
- 'LogFormat': site.get('LogFormat', '"%h %l %u %t \\\"%r\\\" %>s %O"'),
- 'CustomLog': site.get('CustomLog', '{0}/{1}-access.log'.format(map.logdir, sitename)),
-
- 'ProxyPreserveHost': site.get('ProxyPreserveHost', 'On'),
- 'ProxyRoute': site.get('ProxyRoute', {}),
- } %}
-
- <VirtualHost {{ vals.interface }}:{{ vals.port }}>
- ServerName {{ vals.ServerName }}
- {% if site.get('ServerAlias') != False %}ServerAlias {{ vals.ServerAlias }}{% endif %}
-
- {% if site.get('ServerAdmin') != False %}ServerAdmin {{ vals.ServerAdmin }}{% endif %}
-
- {% if site.get('UseCanonicalName') %}UseCanonicalName {{ vals.UseCanonicalName }}{% endif %}
-
- {% if site.get('LogLevel') != False %}LogLevel {{ vals.LogLevel }}{% endif %}
- {% if site.get('ErrorLog') != False %}ErrorLog {{ vals.ErrorLog }}{% endif %}
- {% if site.get('CustomLog') != False %}CustomLog {{ vals.CustomLog }} {{ vals.LogFormat }}{% endif %}
-
- ProxyPreserveHost {{ vals.ProxyPreserveHost }}
- {% for proxy, proxyargs in reverse(vals.ProxyRoute.items()) %}
- {% set proxyvals = {
- 'ProxyPassSource': proxyargs.get('ProxyPassSource', '/'),
- 'ProxyPassTarget': proxyargs.get('ProxyPassTarget', 'https://{0}'.format(sitename)),
- 'ProxyPassReverseSource': proxyargs.get('ProxyPassReverseSource', '/'),
- 'ProxyPassReverseTarget': proxyargs.get('ProxyPassReverseTarget', site.get('ProxyPassTarget', 'https://{0}'.format(sitename))),
- } %}
- ######### {{proxy}} #########
- ProxyPass {{ proxyvals.ProxyPassSource }} {{ proxyvals.ProxyPassTarget }}
- ProxyPassReverse {{ proxyvals.ProxyPassReverseSource }} {{ proxyvals.ProxyPassReverseTarget }}
- {% endfor %}
- {% if site.get('Formula_Append') %}
- {{ site.Formula_Append|indent(4) }}
- {% endif %}
- </VirtualHost>
|