2

我在自创的码头图像上运行Jupyter笔记本。它运行在AWS ELB(具有自己的dns)后面的反向代理(oauth2_proxy)后面。Jupyter笔记本背后的AWS ELB终端问题

现在一切正常,除了Jupyter终端。

当我将实例IP直接连接到Jupyter端口时,它可以工作。

当我试图通过ELB和反向代理达到它时,它会失败。

我的浏览器控制台上看到的信息是:

WebSocket connection to 'wss://mydomainname.domain.com/terminals/websocket/1' failed: Error during WebSocket handshake: Unexpected response code: 400 

我的AWS ELB配置为接受443 SSL连接重定向到TCP 8889(其中反向代理正在运行)。然后,反向代理将其从8889路由到Jupyter正在运行的8888。

在jupyter配置方面,我已经尝试添加这两个CONFIGS:

c.NotebookApp.trust_xheaders = True 
c.NotebookApp.allow_origin = "*" 

但它并没有解决问题。

有关如何解决此问题的任何想法?

回答

0

我修改了通过更改oauth2_proxy websocket实现发布。

我在使用grahamrhay's solution (#145)时遇到了ipython终端(terminado)的websockets问题。在恢复它并添加soellman's implementation (#201)后,它开始工作。

+0

你需要配置任何其他的东西才能让websockets使用jupyter吗? –