美文网首页
记一次搭建内网穿透jupyter-notebook踩坑

记一次搭建内网穿透jupyter-notebook踩坑

作者: 菜鸟鹏_ | 来源:发表于2020-04-19 22:45 被阅读0次

    作为一个学大数据的pythoner,jupyter-notebook可谓是神器啊~可以实时交互并且把代码块的结果保存在页面上……(省略n个夸奖词)
    而且把它搭建在服务器中一直开着的话可以走到哪用到哪,只要有浏览器就可以继续写代码,于是就有了这次的踩坑记录~

    掉坑前

    我有一台腾讯云的学生机,但是内存太小,所以被我用做内网穿透的服务器(使用的是frp),之前很喜欢捣鼓树莓派,手头有三个3B+和一个4B 4G内存版的,就像拿这个4B开刀,通过内网穿透技术把服务暴露在公网上,这样就可以用自己的域名来使用自己搭建的各种服务,想想都爽~

    搭建jupyter-nptebook环境的步骤这里就不详细讲了,百度上多的是,如果有时间可能会写,frp的使用以后也会写,到时候链接会补充在这里~

    搭建完环境,通过路由器局域网访问都没有问题,好~继续把默认的8888端口通过frp暴露在我已经开好的二级域名jupyter.lvpeng990324.cn下,测试能登陆打开网页,突然开心,但是当我新建一个notebook后我发现它一直连接不到内核😨,oh gg,掉坑里了~

    一直连不上内核

    查找问题

    作为一个做过python web开发的人,第一意识想到了类似于前后端分离的架构特点,会不会是这个开放的8888端口只是展示页面的,页面与后台服务交互会用到其他端口呢?

    果断F12大法好,打开浏览器的调试页面检查向服务器发送的请求,果然发现了问题:

    检查向服务器请求记录

    我发现每次点这个Reconnect的按钮右边就会多一个channels请求记录,而且都是无响应,点开发现协议是ws,哈?竟然是websocket,难怪内网没问题,映射到外网就不行了,我知道的情况,frp只能把httphttps协议映射到二级域名下,而这两种协议都不支持websocket,所以这个请求会失败。

    解决方法

    很无奈,我现在还不知道怎么把tcp协议映射到二级域名下,谷歌搜了一圈也没找到,frp下提issue也还没理我😂

    没办法,简单粗暴地把内网的8888端口映射到顶级域名下的某个端口吧,访问的时候没有那么优雅而已(lvpeng990324.cn:xxxx),其他的也没啥,就是吧,作为一个强迫症感觉后边加端口号好low啊😂

    没啥好办法了,如果看到的同学知道怎么把tcp端口映射到二级域名下请私信我救救这个被强迫症折磨的孩子叭~

    相关文章

      网友评论

          本文标题:记一次搭建内网穿透jupyter-notebook踩坑

          本文链接:https://www.haomeiwen.com/subject/hhhwbhtx.html