通过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