nginx загружает CSS-файлы как текстовые файлы - PullRequest
0 голосов
/ 18 февраля 2019

Я настраиваю nginx для загрузки только статических файлов, и я не знаю, почему .css файлы интерпретируются как текстовые / обычные - наконец, браузер не смог его загрузить.

Resource interpreted as Stylesheet but transferred with MIME type text/plain: "http://localhost:13000/styles.css".

при проверкеЗаголовок ответа в веб-браузере файла CSS:

Content-Type: text/plain

Я знаю, что в стеке у нас много проблем с ним, я их уже прочитал, но все равно не работает.

в html-файле я просто импортирую css:

<link href="styles.css" rel="stylesheet" type="text/css"/>

мой /etc/nginx/nginx.conf:

worker_processes        1;
events {
    worker_connections  512;
}

http {
    server {
        listen       80;
        server_name  0.0.0.0:80;
        include /etc/nginx/mime.types;
        root   /project/app;

        location ~* ^.+\.(js|css)$ {
            expires 10d;
        }
    }
}

Я пытался без какой-либо части местоположения или пробовал с:

location ~ \.css {
 add_header Content-Type text/css;
}

В некоторых ответах в других темах я видел, что эта часть обязательна:

default_type  application/octet-stream;
include       /etc/nginx/mime.types;

Я добавил ее в http части, а затем в server, а затем вlocation, мне все равно не помогло.

Есть ли что-нибудь еще, что я могу сделать, чтобы это исправить?

1 Ответ

0 голосов
/ 20 февраля 2019

На всякий случай, если у кого-то есть такая же проблема и используйте докер.Это ключевое слово - я использую докер с изображением nginx: последний, что вызывает проблемы, я изменил его на nginx: 1.14.2 и все работает нормально.

в html, импорт css:

<link href="styles/styles.css" rel="stylesheet" type="text/css"/>

Моя конфигурация nginx.conf:

worker_processes        1;
events {
    worker_connections  512;
}

http {
    include    mime.types;
    sendfile on;
    server {
        listen       80;
        server_name  0.0.0.0:80;
        root   /project/app;
    }
}
...