ed1b3dc929
Leverage the browser cache and compress to speed up the file transfer. In RHEL based image, the expire and deflate module are enabled in default. In the Debian based image, only the deflate is enabled * Enable expire module on the Debian based image * Enable the expire for the assets resource * Enable the deflate for the http response Closes-Bug: #1605907 Change-Id: If25decc38a10a21929f72a89cdb350d4ac64a5a9
72 lines
2.9 KiB
Django/Jinja
72 lines
2.9 KiB
Django/Jinja
{% set python_path = '/usr/lib/python2.7/site-packages' if kolla_install_type == 'binary' else '/var/lib/kolla/venv/lib/python2.7/site-packages' %}
|
|
Listen {{ api_interface_address }}:80
|
|
|
|
<VirtualHost *:80>
|
|
LogLevel warn
|
|
ErrorLog /var/log/kolla/horizon/horizon.log
|
|
CustomLog /var/log/kolla/horizon/horizon-access.log combined
|
|
|
|
WSGIScriptReloading On
|
|
WSGIDaemonProcess horizon-http processes=5 threads=1 user=horizon group=horizon display-name=%{GROUP} python-path={{ python_path }}
|
|
WSGIProcessGroup horizon-http
|
|
WSGIScriptAlias / {{ python_path }}/openstack_dashboard/wsgi/django.wsgi
|
|
WSGIPassAuthorization On
|
|
|
|
<Location "/">
|
|
Require all granted
|
|
</Location>
|
|
|
|
Alias /static {{ python_path }}/static
|
|
<Location "/static">
|
|
SetHandler None
|
|
</Location>
|
|
</Virtualhost>
|
|
|
|
{% if kolla_enable_tls_external | bool %}
|
|
Header edit Location ^http://(.*)$ https://$1
|
|
{% else %}
|
|
# NOTE(Jeffrey4l): Only enable deflate when tls is disabled until the
|
|
# OSSN-0037 is fixed.
|
|
# see https://wiki.openstack.org/wiki/OSSN/OSSN-0037 for more information.
|
|
<IfModule mod_deflate.c>
|
|
# Compress HTML, CSS, JavaScript, Text, XML and fonts
|
|
AddOutputFilterByType DEFLATE application/javascript
|
|
AddOutputFilterByType DEFLATE application/rss+xml
|
|
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
|
|
AddOutputFilterByType DEFLATE application/x-font
|
|
AddOutputFilterByType DEFLATE application/x-font-opentype
|
|
AddOutputFilterByType DEFLATE application/x-font-otf
|
|
AddOutputFilterByType DEFLATE application/x-font-truetype
|
|
AddOutputFilterByType DEFLATE application/x-font-ttf
|
|
AddOutputFilterByType DEFLATE application/x-javascript
|
|
AddOutputFilterByType DEFLATE application/xhtml+xml
|
|
AddOutputFilterByType DEFLATE application/xml
|
|
AddOutputFilterByType DEFLATE font/opentype
|
|
AddOutputFilterByType DEFLATE font/otf
|
|
AddOutputFilterByType DEFLATE font/ttf
|
|
AddOutputFilterByType DEFLATE image/svg+xml
|
|
AddOutputFilterByType DEFLATE image/x-icon
|
|
AddOutputFilterByType DEFLATE text/css
|
|
AddOutputFilterByType DEFLATE text/html
|
|
AddOutputFilterByType DEFLATE text/javascript
|
|
AddOutputFilterByType DEFLATE text/plain
|
|
AddOutputFilterByType DEFLATE text/xml
|
|
</IfModule>
|
|
{% endif %}
|
|
|
|
<IfModule mod_expires.c>
|
|
<Filesmatch "\.(jpg|jpeg|png|gif|js|css|swf|ico|woff)$">
|
|
ExpiresActive on
|
|
ExpiresDefault "access plus 1 month"
|
|
ExpiresByType application/javascript "access plus 1 year"
|
|
ExpiresByType text/css "access plus 1 year"
|
|
ExpiresByType image/x-ico "access plus 1 year"
|
|
ExpiresByType image/jpg "access plus 1 year"
|
|
ExpiresByType image/jpeg "access plus 1 year"
|
|
ExpiresByType image/gif "access plus 1 year"
|
|
ExpiresByType image/png "access plus 1 year"
|
|
Header merge Cache-Control public
|
|
Header unset ETag
|
|
</Filesmatch>
|
|
</IfModule>
|