事象
ここまでは行けるんだけど。
正しいパスワードを入れても真っ白な画面になる。
ちなみに、画面が真っ白になった時は、Chromeの開発者ツールで以下のようなエラーが確認できた。
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'call')
at v (bundle.js:1:516)
at 7559 (880.bundle.js:1:10974)
at v (bundle.js:1:516)
at 60880 (880.bundle.js:1:324)
at Function.v (bundle.js:1:516)
環境
- リモートマシンの UbuntuOS 上に
- Docker container で jupyter notebook を起動
- そこへ MacOS からリモートアクセスしている
- アクセス時には VPN を利用
という構成。
関係しそうなバージョン類を記載しておく。
versionなど | |
---|---|
Client PC OS | macOS Ventura 13.6 |
PC CPU | Apple M2 |
Remote Machine OS | Ubuntu 20.04.6 LTS |
Docker | 24.0.5, build ced0996 |
Python | 3.8.10 |
jupyter | 1.0.0 |
Google Chrome | 116.0.5845.187(Official Build) (arm64) |
対策
A: 127.0.0.1:8888
にアクセス
localhost:8888
ではアクセスできなかったが、 127.0.0.1:8888
にアクセスしたら今まで通り画面が開けた。
追記
0.0.0.0:8888
でもアクセスできた。
B: Chrome の場合、キャッシュを削除
jupyter のログに以下のような 302 POST /login?next=...
といったものが表示される場合は、
docker-python-1 | [I 2024-02-26 16:05:31.347 ServerApp] 302 POST /login?next=%2Ftree%3F (d88bdc9dacfb481da7a2bfd7e3887610@172.18.0.1) 4.74ms
以下の手順で Chrome などのキャッシュを削除しても良いかもしれない。
- Chrome ブラウザの右上隅の3点ドットをクリック
- 「設定」メニューを選択
- サイドバーの「プライバシーとセキュリティ」を選択
- 閲覧履歴データの削除をクリック
- 「ダウンロード履歴」「Cookie と他のサイトデータ」「キャッシュされた画像とファイル」のチェックボックスが入った状態で「データを削除」をクリック。
- 再度 jupyter にアクセス
私はこれで効果があった。
なぜかわからないが、「302 (リダイレクト)」が効いている状態だったのは、キャッシュが原因になっていた模様。
補足
昨日までは localhost でアクセスできたんだけどな。。。
最近 MacOS アップデートしたからそのせいかな。。。
関連しそうな記事は見つけて、以下に書かれている通りキャッシュも消したけど、効果はなかった。
参考記事
他にも以下のような記事がある。