Servidor Bokeh + proxy reverso com Nginx fornece 404
Estou tentando configurar um servidor Bokeh e fazer o proxy reverso com o Nginx.
Meu p-website.conf agora se parece com:
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;
}
}
No servidor, eu executo o servidor Bokeh com:
bokeh serve bokehserver.py --port 5100 --host website.com:80
Mas quando visito website.com/plot/, recebo um 404 do Bokeh e o terminal dos servidores me fornece: AVISO: tornado.access: 404 GET / ("aqui estava o endereço IP") 3.04ms
Eu não entendo por que sempre dá um 404, ou tem algo a ver com o Nginx?
Obrigado!
Atualização 30/06
Ok, acho que estou um passo adiante, e espero que esteja na boa direção. Meu p-website.conf agora se parece com:
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;
}
}
Agora eu executo o servidor com:
bokeh serve bokehserver.py --port 5100 --host 127.0.0.1:80
Agora não recebo mais o 404, mas um "403: Proibido" quando vou para website.com:5100/bokehserver/. E esta mensagem no terminal 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
Tentei corrigir o problema da lista de permissões adicionandoallow 127.0.0.1:5100
no p-website.conf, sem sorte.