Мы перенесли наши веб-серверы на Nginx в основном из соображений производительности, гибкости и простоты настройки (в этом отношении большое удовлетворение!).
Однако только один сайт показал странное поведение: он загружается в свой <head>
CSS
<link type="text/css" rel="stylesheet" href="/css/appli-test-local/appli.css">
и Firefox отказывается загружать файл CSS, жалуясь, что тип mime не css
The stylesheet http://client...com/css/appli-test-local/appli.css was not loaded because its MIME type, "text/html", is not "text/css".
при удалении тире -
работает
<link type="text/css" rel="stylesheet" href="/css/applitestlocal/appli.css">
Конфигурация Nginx
Что касается конфигурации Nginx, то она проверялась несколько раз по многочисленным примерам в сети. mime.types
файл содержит
text/html html htm shtml;
text/css css;
и nginx.conf для основной части
http {
include /etc/nginx/mime.types;
include /etc/nginx/fastcgi.conf;
default_type application/octet-stream;
Вероятно, это ошибка в Nginx, у которой проблемы с тире? Nginx - хорошо написанное программное обеспечение, я был бы удивлен, но это могло быть так. Я упускаю что-то очевидное?
Проблема возникает только в Firefox, потому что FF заботится о типах mime (что хорошо!).
В то время я скомпилировал последнюю версию nginx, и проблема все еще существовала. Похоже, это ошибка nginx в разборе пути / регулярного выражения, которая плохо обрабатывает тире.
Нет подходящего ответа, поэтому я приму этот.
Если вы установили Nginx через репозиторий дистрибутива по умолчанию, то, скорее всего, вы используете очень устаревшую версию Nginx, которая вполне может содержать такую ошибку.
Для тестирования вы должны попробовать найти обновленное репо или скомпилировать последнюю версию из исходников. Если это не помогает, вставьте ОС сервера и весь файл конфигурации.