【问题标题】:"Forbidden" error when connecting to Jupyter notebook with Google Colab使用 Google Colab 连接到 Jupyter 笔记本时出现“禁止”错误
【发布时间】:2020-12-12 18:51:04
【问题描述】:

因此,我试图按照 Google 此处的说明将 Google Colab 链接到安装在我的 linux (ubuntu) 机器上的 Jupyter 笔记本:https://research.google.com/colaboratory/local-runtimes.html

笔记本服务器启动正常,但是通过 Google Colab 连接到它时,连接失败,我收到“禁止”错误。

(base) my_user@sysmain:~$ jupyter notebook --NotebookApp.allow_origin='https://colab.research.google.com' --port=8888 --NotebookApp.port_retries=0 --no-browser
jupyter_http_over_ws extension initialized. Listening on /http_over_websocket
[I 23:01:03.636 NotebookApp] JupyterLab extension loaded from /home/my_user/miniconda3/lib/python3.8/site-packages/jupyterlab
[I 23:01:03.636 NotebookApp] JupyterLab application directory is /home/my_user/miniconda3/share/jupyter/lab
[I 23:01:03.638 NotebookApp] Serving notebooks from local directory: /home/my_user
[I 23:01:03.638 NotebookApp] Jupyter Notebook 6.1.3 is running at:
[I 23:01:03.638 NotebookApp] http://localhost:8888/
[I 23:01:03.638 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[I 23:01:20.212 NotebookApp] 302 GET / (127.0.0.1) 0.68ms
[I 23:01:20.214 NotebookApp] 302 GET /tree (127.0.0.1) 0.45ms
[W 23:01:20.240 NotebookApp] Forbidden
[W 23:01:20.240 NotebookApp] 403 GET /api/kernelspecs (127.0.0.1) 0.56ms referer=None
[I 23:01:22.273 NotebookApp] 302 GET / (127.0.0.1) 0.29ms
[I 23:01:22.274 NotebookApp] 302 GET /tree (127.0.0.1) 0.40ms
[W 23:01:22.278 NotebookApp] Forbidden
[W 23:01:22.278 NotebookApp] 403 GET /api/kernelspecs (127.0.0.1) 0.48ms referer=None

之前有关于这个主题的帖子 (https://github.com/googlecolab/colabtools/issues/162) 但是添加 --no-browser 并没有解决问题,正如你在我输入的命令中看到的那样。

感谢您的帮助!

【问题讨论】:

    标签: linux jupyter-notebook google-colaboratory


    【解决方案1】:

    我在 ~/.jupyter/jupyter_notebook_config.py 中配置 jupyter 进行密码验证后遇到了这个问题。注释掉这些行

    c.NotebookApp.password
    c.NotebookApp.password_required
    

    关闭密码并导致 Jupyter 使用基于令牌的身份验证。或者,如果您添加这样的一行

    c.NotebookApp.token = 'yourTokenValue'
    

    然后您可以通过 http://localhost:PORT/?token=yourTokenValue 进行连接

    【讨论】:

      【解决方案2】:

      注意您要复制到 Google Colab 中“本地连接设置”的网址。当你在本地运行 jupyter notebook 时,会打印出这样的输出:

      [I 15:23:07.292 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
      [C 15:23:07.296 NotebookApp]
      
          To access the notebook, open this file in a browser:
              file:///Users/<your-username>/Library/Jupyter/runtime/nbserver-56791-open.html
          Or copy and paste one of these URLs:
              http://localhost:8888/?token=xyz....xyz
           or http://127.0.0.1:8888/?token=xyz....xyz
      

      您应该复制此处显示的“准确” url,即:

      http://localhost:8888/?token=xyz....xyz
      

      其实这里的token负责认证,这样你就不会再收到403了。

      【讨论】:

        猜你喜欢
        • 2018-10-08
        • 2021-09-25
        • 2019-07-28
        • 1970-01-01
        • 2021-02-16
        • 2021-08-17
        • 2017-09-24
        • 2020-05-24
        • 2021-02-13
        相关资源
        最近更新 更多