Nginx не обслуживает статические файлы
Я знаю, что об этом уже много раз спрашивали, но я перепробовал все ответы, которые нашел, в течение нескольких часов и все еще не могу заставить это работать. Я запускаю Django на сервере linux, который обслуживает приложение react. html загружается нормально, но все статические файлы, включая js, просто получают ошибку 404 not found.
Вот мой set.py в настоящее время. Я попробовал немного изменить его в соответствии с другими ответами, которые я также видел.
DEBUG = False
STATIC_URL = '/static/'
STATIC_ROOT = "/home/user/project/static/"
STATICFILES_DIRS = [
BASE_DIR / "static/",
]
мои настройки ngix
server {
server_name domain.app www.domain.app;
location /favicon.ico {
access_log off;
log_not_found off;
}
location /static/ {
alias /home/user/project/static/;
}
location / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
listen [::]:443 ssl; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/domain.app/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/domain.app/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
Пробовал множество комбинаций этого файла безрезультатно. Некоторые люди предположили, что пользователь Nginx не имеет правильных прав, поэтому я также изменил nginx.conf на того же пользователя, что и статические файлы, а также попробовал с root для хорошей меры. Также я попробовал переместить статический файл в другое место.
Я просто в полной растерянности, как это исправить.
Edit: Я обнаружил, что сайт прекрасно работает на www.domain.app при использовании этих настроек, но выдает ошибку 404 not found для статических файлов только на domain.app.