jupyterhub设置cors允许跨域
使用jupyterhub作为后端kernal的时候,前端需要通过ws连接到jupyter notebook(由jupyter hub产生)。这时候在默认情况下会产生跨域的情况,需要进行一些配置。
首先是配置文件,即jupyterhub_config.py
,一般juyputerhub的各项配置均在这个文件。 在任意位置添加以下代码
origin = '*'
c.JupyterHub.tornado_settings = {
'headers': {
'Access-Control-Allow-Origin': origin,
},
}
c.Spawner.args = ['--NotebookApp.allow_origin={0}'.format(origin)]
其中origin更改为自己的域名,注意不要保留*,否则允许所有网站的cors将会有被别人偷偷调用的风险,不仅不安全,还可能成为别人的打工仔。
另外,如果是在kubernetes中通过ingress搭建的jupyterhub,还需要一个额外的配置,
kind: Ingress
metadata:
annotations:
...
nginx.ingress.kubernetes.io/cors-allow-origin: '*'
nginx.ingress.kubernetes.io/enable-cors: 'true'
文章原始链接:https://sijie.wang/posts/jupyter-cors
本站文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议,转载请保留原始链接
发表评论