У меня supervisord
сервер работает на localhost:9001
. Я пытаюсь обслужить его в localhost/supervisord
.
Конфигурация nginx
выглядит так:
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /tmp/nginx.pid;
#daemon off;
events {
worker_connections 1024;
}
http {
# MIME / Charset
default_type application/octet-stream;
charset utf-8;
# Logging
access_log /var/log/nginx/access.log;
# Other params
server_tokens off;
tcp_nopush on;
tcp_nodelay off;
sendfile on;
upstream supervisord {
server localhost:9001;
}
server {
listen 80;
client_max_body_size 4G;
keepalive_timeout 5;
location ^~ /stylesheets {
alias /Users/ocervell/.virtualenvs/ndc-v3.3/lib/python2.7/site-packages/supervisor/ui/stylesheets;
access_log off;
}
location ^~ /images {
alias /Users/ocervell/.virtualenvs/ndc-v3.3/lib/python2.7/site-packages/supervisor/ui/images;
access_log off;
}
location /supervisord {
# Set client IP / Proxy IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
# Set host header
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://supervisord/;
}
}
}
Перед добавлением местоположений ^~ /images
и ^~ /stylesheets
страница возвращала 502 Bad Gateway
.
С помощью приведенной выше конфигурации я могу получить доступ к localhost/supervisord
, но на странице отсутствует CSS.
Я вижу, что css / изображения правильно загружаются в браузере:
Но я вижу сообщение об ошибке в консоли браузера, и, похоже, виновата:
Тип mimetype в браузере для localhost/stylesheets/supervisor.css
отображается как octet-stream
вместо text/css
.
Тип mimetype в браузере для localhost:9001/stylesheets/supervisor.css
отображается как правильный text/css
.
Как исправить эту ошибку?
Я думал о динамическом переписывании mimetype для статических файлов, но я не эксперт в nginx
и понятия не имею, как это сделать из конфигурации nginx
.