Я запускаю mod_wsgi на Ubuntu Server 12.04 с Django, но не могу заставить работать mod_headers. Я запустил заголовки a2enmod и получил ответ, что мне нужно перезапустить apache, чтобы он заработал, что я и сделал. Я добавил простую директиву, чтобы сервер включал фиктивный атрибут / значение заголовка в ответ на запрос, просто как тест, но он не обрабатывается. Нет никаких признаков этого из того, что я вижу на вкладке net в Firebug.
Доступ к файлу, который я запрашиваю на сервере, проходит успешно, и он возвращается в браузер без каких-либо проблем с правильным содержимым. У него просто нет этого дополнительного заголовка. Вот как выглядит мой файл / etc / apache2 / sites-available / DOMAIN (но с заменой DOMAIN моим фактическим доменом):
<VirtualHost *:80>
ServerAdmin root@DOMAIN
ServerName DOMAIN
Alias /static/ /srv/project/app/webapp/static/
Alias /robots.txt /srv/project/app/webapp/site_media/robots.txt
Alias /favicon.ico /srv/project/app/webapp/site_media/favicon.ico
CustomLog "|/usr/sbin/rotatelogs /srv/project/logs/access.log.%Y%m%d-%H%M 60M" combined
ErrorLog "|/usr/sbin/rotatelogs /srv/project/logs/error.log.%Y%m%d-%H%M 60M"
LogLevel info
WSGIDaemonProcess DOMAIN user=rtf group=rtf processes=1 threads=15 maximum-requests=10000 python-path=/srv/project/venv/lib/python2.7/site-packages python-eggs=/srv/project/run/eggs
WSGIProcessGroup DOMAIN
WSGIScriptAlias / /srv/project/app/conf/apache/django.wsgi
<Directory /srv/project/app/webapp/site_media>
Order deny,allow
Allow from all
Options -Indexes FollowSymLinks
</Directory>
<Directory /srv/project/app/conf/apache>
Order deny,allow
Allow from all
</Directory>
Header set MyHeader "It took %D microseconds for Apache to serve this request."
</VirtualHost>
"MyHeader" выше не добавляется к ответу.
Я попытался установить mod_headers еще раз на случай, если в первый раз возникнут проблемы, о которых я не знал, но a2enmod сказал мне, что он уже установлен.
Кстати, то, что я в конечном итоге пытаюсь достичь, - это установить Content-Disposition на 'attachment' в возвращаемом заголовке запросов для определенных файлов, чтобы он запускал диалоговое окно сохранения как в браузере, когда GET выполняется для файлы, соответствующие определенному шаблону.
Кто-нибудь может подсказать, в чем может быть проблема?
У меня все заработало. Причина, по которой этого не было раньше, на самом деле не имела ничего общего с самой конфигурацией, а потому, что я получил только конфигурацию (указанную в вопросе), расположенную в / etc / apache2 / sites-available /
Итак, я добавил его в / etc / apache2 / sites-enabled /, и новые заголовки подбираются нормально. Как это бывает, форсирование Content-Disposition не влияет на браузер, то есть когда клиент делает запрос GET, который устанавливает Content-Disposition как вложение, браузер по-прежнему отказывается открывать диалоговое окно сохранения как.
Похоже, мне нужно будет динамически вставить гиперссылку на веб-страницу с установленным атрибутом загрузки и попытаться принудительно щелкнуть ссылку программно. Но это отдельная тема.