У меня есть сервер пирамиды, работающий на EC2 через apache со следующей конфигурацией -
<Directory path_to_virtual_env>
WSGIProcessGroup pyramid
Require all granted
Order allow,deny
Allow from all
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain application/x-javascript application/x-font-woff
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
ExpiresActive On
ExpiresDefault "access plus 1 year"
Header append Cache-Control "public"
</Directory>
Я могу запустить Pyramid Server на порту 80 со сжатием GZIP, но что касается модуля истечения срока действия, я получаю следующий ответ для большинства файлов:
Я убедился, что модуль expires работает, выполнив - sudo a2enmod expires
и sudo a2enmod headers
но я получаю тот же ответ, что и выше. Я пробовал много ответов от stackoverflow по этой теме, но все равно безуспешно.
Что мне не хватает?
Добавленный вами модуль установит срок действия для файлы что обслуживает Apache.
Это не повлияет на заголовки срока действия, которые присутствуют в вашем скрипте.
Вы можете проверить это, переместив mod_expires
в корневую папку вашего сервера, т.е. не под префиксом приложения, а затем получить что-то вроде /robots.txt
, или /favicon.ico
.
Если вы хотите установить заголовки срока действия для динамического вывода, вы должны сделать это в самом приложении.