Сервер Bokeh + обратное проксирование с Nginx дает 404
Я пытаюсь настроить сервер Bokeh и обратный прокси-сервер с Nginx.
Мой p-website.conf теперь выглядит так:
server {
listen 80;
server_name website.com;
client_max_body_size 25M;
access_log /var/www/logs/p-website.access.nginx.log;
error_log /var/www/logs/p-website.error.nginx.log error;
root /var/www/pydocs/website/production/src;
include global/restrictions.conf;
location /plot/ {
proxy_pass http://website.com:5100;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host:$server_port;
proxy_buffering off;
}
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# enable this if and only if you use HTTPS, this helps Rack
# set the proper protocol for doing redirects:
# proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_connect_timeout 10;
proxy_read_timeout 60s;
proxy_pass http://production_website_gunicorn;
}
}
На сервере я запускаю сервер Bokeh с:
bokeh serve bokehserver.py --port 5100 --host website.com:80
Но когда я захожу на website.com/plot/, я получаю 404 от Bokeh, и серверный терминал дает мне: ПРЕДУПРЕЖДЕНИЕ: tornado.access: 404 GET / («здесь был ip адрес») 3.04ms
Я не понимаю, почему он всегда дает 404, или это как-то связано с Nginx?
Спасибо!
Обновление 30/06
Хорошо, я думаю, что я на шаг впереди и, надеюсь, в правильном направлении. Мой p-website.conf теперь выглядит так:
server {
listen 80 default_server;
server_name website.com;
client_max_body_size 25M;
access_log /var/www/logs/p-website.access.nginx.log;
error_log /var/www/logs/p-website.error.nginx.log error;
root /var/www/pydocs/magnify/production/src;
include global/restrictions.conf;
location / {
allow 127.0.0.1:5100
proxy_pass http://127.0.0.1:5100;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host:$server_port;
proxy_buffering off;
}
}
Теперь я запускаю сервер с:
bokeh serve bokehserver.py --port 5100 --host 127.0.0.1:80
Теперь я больше не получаю 404, а "403: запрещено", когда я захожу на website.com:5100/bokehserver/. И это сообщение в терминале bokehserver:
INFO:bokeh.server.tornado:Rejected connection from host 'website.com:5100' because it is not in the --host whitelist
WARNING:tornado.access:403 GET /bokehserver/ (213.152.161.35) 0.78ms
Я попытался исправить проблему белого списка, добавивallow 127.0.0.1:5100
в p-website.conf не повезло.