我有一个金字塔服务器运行在EC2通过Apache与以下configuration –
<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>
我能够运行GZIP压缩端口80金字塔服务器,但就expiry模块而言,我得到以下响应的大部分文件 –

我已经确保expires模块正在执行 – sudo a2enmod expires和sudo a2enmod headers但是我得到了和上面相同的响应。 我已经尝试了很多来自这个主题的stackoverflow的答案,但仍然没有成功。
有什么我失踪?
您添加的模块将设置Apache服务的文件的到期时间。
它不会干扰脚本中存在的到期头文件。
您可以通过将mod_expires部分移动到您的服务器根位置(即不在应用程序前缀之下)来testing此操作,然后获取类似/robots.txt或/favicon.ico 。
如果你想为dynamic输出设置过期标题,你应该在应用程序中做到这一点。