Nginx не может обслуживать CSS-файлы из-за ошибки MIME-типа

7475
khajvah

Моя настройка:

Это настройка nginx / gunicorn для веб-приложения django.

Вот мой конфигурационный файл nginx:

worker_processes 1;  user ubuntu nogroup; # for systems with a "nogroup" # user nobody nobody; # for systems with "nobody" as a group instead  # Feel free to change all paths to suit your needs here, of course pid /tmp/nginx.pid; error_log /tmp/nginx.error.log;  events { worker_connections 1024; # increase if you have lots of clients accept_mutex off; # "on" if nginx worker_processes > 1 use epoll; # enable for Linux 2.6+ # use kqueue; # enable for FreeBSD, OSX }  http {  # fallback in case we can't determine a type default_type application/octet-stream;  # click tracking! access_log /tmp/nginx.access.log combined;  # you generally want to serve static files with nginx since neither # Unicorn nor Rainbows! is optimized for it at the moment sendfile off;  tcp_nopush off; # off may be better for *some* Comet/long-poll stuff tcp_nodelay off; # on may be better for some Comet/long-poll stuff   # this can be any application server, not just Unicorn/Rainbows! upstream app_server {  # for UNIX domain socket setups: server localhost:8080;  }  server { listen 8000;  # client_max_body_size 4G; server_name _;  proxy_connect_timeout 75s; proxy_send_timeout 75s; proxy_read_timeout 75s;  expires -1; location /static { autoindex on; alias /home/ubuntu/mira_website/manageDb/static/; }   location / {  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  proxy_set_header Host $http_host;  proxy_redirect off;  proxy_buffering off;  proxy_pass http://app_server;  }  # Error pages error_page 500 502 503 504 /500.html; location = /500.html { root /path/to/app/current/public; } } } 

Я получаю ошибки

Я получаю ошибки из браузера. Вот такие:

/static/rest_framework_swagger/css/highlight.default.css was not loaded because its MIME type, "application/octet-stream", is not "text/css". 

Что интересно, .jsфайлы успешно обслуживаются. Еще одна вещь, на которую следует обратить внимание, это то, что оба файла .jsи .cssфайлы были сгенерированы Django python manage.py collectstatic.

Еще одна интересная вещь заключается в том, что, когда я помещаю /static/rest_framework_swagger/css/highlight.default.cssссылку непосредственно в URL, он предоставляет мне файл для загрузки.

2

1 ответ на вопрос

2
khajvah

Дурак я. Я забыл положить include /etc/nginx/mime.typesв файл конфигурации. Я положил его в location /static {}блок, и теперь он работает.

Похожие вопросы