用于Web套接字连接失败的Jupyterhub的apache反向代理

时间:2019-02-12 06:47:32

标签: reverse-proxy jupyterhub

通过github [在此处输入图片描述] [1]问题#219和相关链接,但到目前为止没有成功。

我在使用Apache 2.4的Jupyterhub上进行了反向代理设置。从Apache URL重定向到JupyterHUB url可以正常工作,但是在创建内核后内部Websocket连接失败,因为它从Apache URL而不是重定向的Port获取端口。

Apache URL: https://HOST_NAME:31000

JupyterHUB redirect URL: https://HOST_NAME:8000

...但是在wss:// HOST_NAME:31000尝试了websocket连接,但失败。 Websocket不会发生URL重定向。

Apache Configuration entry below:

Listen HOST_NAME:31000
ServerName HOST_NAME
RewriteEngine On
RewriteCond %{HTTP:Connection} Upgrade [NC]
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteRule /(.*) ws://HOST_NAME:8000/$1 [P,L]

<Location ~ "/(user/[^/]*)/(api/kernels/[^/]+/channels|terminals/websocket)/?">
ProxyPreserveHost on
# proxy to JupyterHub
ProxyPass https://HOST_NAME:8000/
ProxyPassReverse ws://HOST_NAME:8000/

注意:HOST_NAME是运行JupyterHub的服务器。 Apache也在同一服务器上运行。

*当尝试打开Notebook会话时,我看到内核已创建。

正在启动网络套接字:wss:// HOST_NAME:31000 / user / d12333 / api / kernels / d34343 / channels?session ...无法连接。如果websocket的URL重定向使用8000端口,则应该可以。

但是无法通过apache cnfiguration配置重定向。

proxy_wstunnel_module,proxy_http_module和proxy_module均已启用。*

  [1]: https://i.stack.imgur.com/robiH.jpg

0 个答案:

没有答案