У меня есть приложение django со следующими настройками для статических файлов:
STATIC_DIR = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = [STATIC_DIR,]
STATIC_ROOT = '/opt/static/'
Я запускаю Django, используя следующую команду gunicorn:
gunicorn evee.wsgi -b 0.0.0.0:8000
.
Я настроил nginx для обслуживания статических файлов и ssl, используя следующую команду conf:
server {
keepalive_timeout 5;
listen 443 ssl;
server_name api.home.com;
client_max_body_size 4G;
error_page 500 502 503 504 /500.html;
# path for static files
root /opt;
location / {
# checks for static file, if not found proxy to app
try_files $uri @proxy_to_app;
}
location @proxy_to_app {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Ssl off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Port 80;
proxy_set_header X-Forwarded-Proto $scheme;
# we don't want nginx trying to do something clever with
# redirects, we set the Host: header above already.
proxy_redirect off;
proxy_pass http://evee:8000;
}
}
Интересно то, что я могу видеть CSS в клиенте. Например, запрос к https://secapi.ril.com/static/admin/css/base.css
успешен и возвращает ответ 200. Я могу просмотреть все статические файлы по указанному URL, но, похоже, django их не использует. Пробовал менять клиентов, а также частный режим.
Я что-то делаю ужасно неправильно? Это работало в прошлый раз, когда я проверял.