Jupyter-IFrames nutzen die Netzwerkroute des Browsers
Unterscheiden Sie einen Download in einem entfernten Jupyter-Kernel von einer eingebetteten Browsernavigation und nutzen Sie eine autorisierte SOCKS-Route, wenn der Browser den entfernten Ausgang benötigt.
Das Einbetten einer Website mit IPython.display.IFrame erzeugt ein HTML-iframe. Der Browser, der das Notebook anzeigt, navigiert dann über seine eigene Route zu dieser URL.
Ein Requests-Aufruf in einem entfernten Kernel ist ein anderer Vorgang: Dieser HTTP-Client läuft dort, wo der Kernel läuft. Proxy-Variablen im Kernel zu setzen, konfiguriert nicht die iframe-Anfrage des Browsers.
Soll der Browser einen autorisierten entfernten Rechner als Ausgang verwenden, kann ein vorhandenes SSH-Konto einen lokalen SOCKS-Listener bereitstellen:
ssh -N -D 127.0.0.1:1080 [email protected]
Konfigurieren Sie dann den vorgesehenen Browserverkehr für SOCKS5 unter 127.0.0.1:1080, einschließlich DNS des entfernten Ziels, falls erforderlich. Halten Sie die SSH-Sitzung am Laufen. SSH öffnet Zielverbindungen von seiner entfernten Seite; bestätigen Sie, dass dieser Host die vorgesehene Route hat, besonders wenn der Notebook-Kernel in einem anderen Container oder Rechner läuft.
Die eigene URL des Notebook-Servers benötigt möglicherweise eine direkte Browser-Ausnahme, damit die neue Route den Zugriff auf das Notebook nicht unterbricht. Die iframe-Beschränkungen einer Website gelten ebenfalls weiter: Der Wechsel des Netzwerkausgangs erlaubt es nicht, eine Seite einzubetten, die Framing ablehnt.