Запуск Django 1.2.5 на сервере Linux с Apache2 и по какой-то причине Django не может хранить файлы cookie CSRF или Session.Поэтому, когда я пытаюсь войти в систему администратора Django, при отправке формы авторизации выдается ошибка проверки CSRF.Кто-нибудь сталкивался с этим и нашел решение?
Я могу сделать действительное сообщение, когда я пытаюсь это сделать по URL-адресу моего VPS, предоставленного моим хостом.Пример: vps123.hostdomain.com/admin/ и для этого домена устанавливаются файлы cookie.Однако, когда я захожу на сайт www.sitedomain.com/admin/ и пытаюсь войти в систему, я получаю сообщение об ошибке CSRF 403 о том, что файла cookie нет, а когда я проверяю файлы cookie своих браузеров, они не установлены.
IЯ попытался установить следующее в моем файле настроек:
SESSION_COOKIE_DOMAIN = 'www.sitedomain.com'
CSRF_COOKIE_DOMAIN = 'www.sitedomain.com'
Также попытался:
SESSION_COOKIE_DOMAIN = 'vps123.hostdomain.com'
CSRF_COOKIE_DOMAIN = 'vps123.hostdomain.com'
У меня есть 'django.middleware.csrf.CsrfViewMiddleware', добавленный к моему MIDDLEWARE_CLASSES в settings.pyи в форме есть токен CSRF, который отображается в POST.
У меня включены файлы cookie.Я пробовал это на нескольких браузерах и машинах.
Перед www.sitedomain.com находится лаковый прокси-сервер, который, я думаю, может быть частью проблемы.Любой, кто имеет опыт использования прокси-серверов и Django, может пролить свет на это.
Моя конфигурация apache2:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.sitedomain.com
ServerAlias www.sitedomain.com
<Location "/">
Options FollowSymLinks
SetHandler python-program
PythonInterpreter nzsite
PythonHandler django.core.handlers.modpython
PythonDebug On
PythonPath "['/var/www/django_projects', '/var/www', '/usr/lib/python2.6/dist-packages'] + sys.path"
SetEnv DJANGO_SETTINGS_MODULE project_one.settings
</Location>
<location "/phpmyadmin">
SetHandler None
</location>
</VirtualHost>
<VirtualHost *:80>
ServerName othersite.sitedomain.com
ServerAlias othersite.sitedomain.com
<Location "/">
Options FollowSymLinks
SetHandler python-program
PythonInterpreter ausite
PythonHandler django.core.handlers.modpython
PythonDebug On
PythonPath "['/var/www/django_projects', '/var/www', '/usr/lib/python2.6/dist-packages'] + sys.path"
SetEnv DJANGO_SETTINGS_MODULE project_two.settings
</Location>
<location "/phpmyadmin">
SetHandler None
</location>
</VirtualHost>