Nginx kann aufgrund eines MIME-Typfehlers keine CSS-Dateien bereitstellen

Nginx kann aufgrund eines MIME-Typfehlers keine CSS-Dateien bereitstellen

Mein Setup:

Es ist ein Nginx/Gunicorn-Setup für die Django-Webanwendung.

Hier ist meine Nginx-Konfigurationsdatei:

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;
    }
  }
}

Fehler, die ich bekomme

Ich erhalte Fehlermeldungen vom Browser. Hier sind diese:

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

Interessant ist, dass .jsdie Dateien erfolgreich bereitgestellt wurden. Außerdem ist zu beachten, dass sowohl die als auch .jsdie .cssDateien von Django mit generiert wurden python manage.py collectstatic.

Interessant ist auch, dass /static/rest_framework_swagger/css/highlight.default.cssmir die Datei zum Download angeboten wird, wenn ich die URL direkt eingebe.

Antwort1

Dumm von mir. Ich habe vergessen, include /etc/nginx/mime.typesdie Konfigurationsdatei einzufügen. Also habe ich sie in location /static {}den Block eingefügt und jetzt funktioniert es.

verwandte Informationen