Failing to embed Bokeh app with autoload_server()

I have an Nginx-served web page in which I want to embed a Bokeh app (also running on the same server).

The Bokeh app is served thusly:

bokeh serve /coronagraph/apps/ --port 5100 --host="*"


and is indeed reachable via direct browser request (i.e., http://xx.xx.xx.xx:5100).

(NOTE that the Bokeh app is NOT being served by Nginx; only the wrapping web page is.)

The web page (which FWIW is SSL terminated: https://xx.xx.xx.xx:443, where the IP address is the same as that of the Bokeh app) embeds the tag returned by:

script = autoload_server(model=None, app_path="/coronagraph/apps/coron_model", url=“http://xx.xx.xx.xx:5100”)


in a div, resulting in:

<script src="http://xx.xx.xx.xx:5100/coronagraph/apps/coron_model/autoload.js?bokeh-autoload-element=a0238309-6db0-4bea-9934-d9309acd3c21" id="a0238309-6db0-4bea-9934-d9309acd3c21" data-bokeh-model-id="" data-bokeh-doc-id="">


However, this steadfastly fails to embed the Bokeh app, failing with a 404 Not Found (both on page load and when I enter the src URL in a browser), again despite the fact that the app is accessible by direct browser request (i.e., http://xx.xx.xx.xx:5100).

What am I doing wrong?



I should also note that all this is being run within a Docker container: i.e., both the Nginx-served web page and the Bokeh app “live” in the same Docker container. The IP address represented as “xx.xx.xx.xx” in all the URLs above is the public-facing IP address of the (AWS) server on which this Docker container runs. I’ve tried addressing the Bokeh app by instead using the server’s private IP address, and, and localhost, all to no avail.