Bokeh Server + Reverse-Proxying mit Nginx ergibt 404

Ich versuche, einen Bokeh-Server einzurichten und den Proxy mit Nginx umzukehren.

Meine p-website.conf sieht jetzt so aus:

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;
}
}

uf dem Server starte ich den Bokeh-Server mit:

bokeh serve bokehserver.py --port 5100 --host website.com:80

Aber wenn ich website.com/plot/ besuche, bekomme ich eine 404 von Bokeh und das Server-Terminal gibt mir: WARNUNG: tornado.access: 404 GET / ("hier war die IP-Adresse") 3.04ms

Ich verstehe nicht, warum es immer eine 404 gibt, oder hat es etwas mit Nginx zu tun?

Vielen Dank

Update 30/06

Ok, ich denke ich bin einen Schritt weiter und hoffentlich in die gute Richtung. Meine p-website.conf sieht jetzt so aus:

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;
}

}

Ich starte jetzt den Server mit:

bokeh serve bokehserver.py --port 5100 --host 127.0.0.1:80

Jetzt bekomme ich den 404 nicht mehr, sondern einen "403: Forbidden", wenn ich auf website.com gehe: 5100/bokehserver/. Und diese Meldung auf dem Bokehserver-Terminal:

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

Ich habe versucht, das Whitelist-Problem durch Hinzufügen von @ zu behebeallow 127.0.0.1:5100 in der p-website.conf kein glück.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage