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嗎? –