Получение 400 'bad request' для развернутого приложения django с apache2 + mod_wsgi
Я запускаю 2 приложения django на одном сервере (оба почти одинаковые). Первое приложение работает без проблем в виртуальной среде и в режиме prod. Но для второго развернутого приложения я получаю ошибку плохого запроса, даже если оно работает в виртуальной среде без каких-либо проблем.
Я установил 775 для всего проекта и www-data в качестве владельца.
Мой файл apache .conf имеет следующий вид
<VirtualHost *:80>
ServerName prod-domain.de
<Directory /opt/myproject/mysite/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
Alias /media/ /opt/myproject/mysite/media/
Alias /static/ /opt/myproject/mysite/base/static/
<Directory /static/>
Require all granted
</Directory>
<Directory /media/>
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error-myproject.log
CustomLog ${APACHE_LOG_DIR}/access-myproject.log combined
</VirtualHost>
WSGIScriptAlias / /opt/myproject/mysite/mysite/wsgi.py
WSGIPythonPath /opt/myproject/mysite/env/lib/python3.8/site-packages
Мой settings.py
DEBUG = True
ALLOWED_HOSTS = ["prod-domain.de"]
[...]
STATIC_ROOT = BASE_DIR / 'base/static/'
STATICFILES_DIRS = [BASE_DIR / 'myproject/static/', ]
STATIC_URL = 'static/'
# Base url to serve media files
MEDIA_URL = 'media/'
# Path where media is stored
MEDIA_ROOT = BASE_DIR / 'media/'
Я много играл с apache conf и settings.py, но apache не показывает никаких ошибок в логах, и теперь я застрял с трудом.
Также пробовал
ALLOWED_HOSTS = ['*']
без эффекта.
Исправлено после перемещения WSGIScriptAlias внутрь тега VirtualHost в моем apache .conf файле и следующего в wsgi.py:
import os, sys
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
sys.path.append('opt/myproject/mysite')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()