Я немного отстраняюсь от этого, и я, очевидно, пропустил что-то простое. У меня есть приложение Django, которое я обслуживаю на nginx. Все остальные статические файлы в приложении обслуживаются нормально, за исключением некоторых .htm-файлов, которые являются частью библиотеки для редактора TinyMCE HTML.NGINX не обслуживает файлы htm, но обслуживает все остальные статические файлы
Путь к файлу не обслуживаемого является: http://www.myurl.org/static/admin/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm/
Состояния файла журнала Nginx ошибка является: «/ главная/Установщик/CMP/CML/статический/администратор/TinyMCE/jscripts/tiny_mce/плагины/advlink/link.htm/index.html «не найден (20: не каталог)»
(Кстати, я не знаю, почему Nginx продолжает думать, что путь к файлу приводит к каталогу.)
Но этот файл испытания: http://www.myurl.org/static/admin/tinymce/jscripts/tiny_mce/plugins/advlink/tst.html подается нормально.
Мой конфигурационный файл является:
upstream app_server_wsgiapp {
server localhost:8000 fail_timeout=0;
}
server {
listen 80;
server_name XX.XXX.X.XX;
access_log /var/log/nginx/XX.XXX.X.XX.access.log;
error_log /var/log/nginx/XX.XXX.X.XX.error.log info;
keepalive_timeout 5;
#nginx serve up static files and never send to the WSGI server
location /static {
include /etc/nginx/mime.types;
autoindex on;
alias /home/deployer/cmp/cml/static;
}
location/{
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://app_server_wsgiapp;
break;
}
}
#this section allows Nginx to reverse proxy for websockets
location /socket.io {
proxy_pass http://app_server_wsgiapp/socket.io;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}
Соответствующие части типов файлов мим:
types {
text/html html htm shtml;
text/css css;
text/xml xml rss;
image/gif gif;
image/jpeg jpeg jpg;
application/x-javascript js;
application/atom+xml atom;
...
}
Любые предложения, чтобы получить, что link.htm обслуживания?
Обновление: после нескольких попыток я заметил, что журнал ошибок nginx говорит: «/home/deployer/cmp/cml/static_proxy/index.html не найден», и запрос поступает из: «GET/static_proxy /? u = myurl.org/static/admin/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm
(Для справки это не мое приложение, я помогаю мигрировать друг учителя от Gondor до Linode после того, как ее Dev поручил.)
Статический_прокси исходит из библиотеки tinymce. Но это не проблема в dev на моей машине. Там все отлично работает. Я попытался добавить в этот блок местоположения, но это было просто потрясающее предположение.
location /static_proxy {
autoindex on;
root /home/deployer/cmp/cml;
}
Если изменить директиву корня в выше
alias /home/deployer/cmp/cml/static;
Я получаю статический список каталогов в всплывающем окне, которое, кажется, как улучшение.
Конечно, ссылка неправильно; он не должен иметь косой черты. –
Эта косая черта добавляется сервером, когда я пытаюсь загрузить этот URL без него. Но, если я изменю расширение файла на .html, а не на .htm, файл загрузится просто отлично. – OmahaJoe
Итак, какие файлы находятся в каталоге '/ home/deployer/cmp/cml/static/tinymce/jscripts/tiny_mce/plugins/advlink /'? –