Я настроил сервер ноутбуков Jupyter на компьютере A со следующей конфигурацией:
c.NotebookApp.certfile = '.jupyter/mycert.pem'
c.NotebookApp.ip = 'MY_IP_ADDRESS'
c.NotebookApp.keyfile = '.jupyter/mykey.key'
c.NotebookApp.notebook_dir = 'Dropbox/GitHub'
c.NotebookApp.password = 'MY_HASHED_PASSWORD'
c.NotebookApp.port = 8888
Когда сервер запускается, компьютер B может связаться с этим сервером с помощью https://MY_IP_ADDRESS:8888
.
Но Компьютер А никак не мог добраться до самого себя
# ERR_CONNECTION_REFUSED
https://localhost:8888/
https://127.0.0.1:8888/
# ERR_CONNECTION_TIMED_OUT
https://MY_IP_ADDRESS:8888/
Стоит упомянуть, что когда я закомментирую строку, которая присваивает IP-адрес, localhost
и 127.0.0.1
работают нормально, но я не смог бы подключиться извне (компьютер B)
Я пробовал переключать порт, переключать браузеры, настраивать /etc/hosts
и /etc/resolv.conf
и некоторые другие параметры внутри ~/.jupyter/jupyter_notebook_config.py
но, похоже, ни один из них не работает
Любое предложение будет оценено.
Обновление 1
После некоторого дальнейшего расследования выясняется, что это не имеет ничего общего с ноутбуком Jupyter. Я запустил простой Python HTTP-сервер со следующим фрагментом:
import sys
from http.server import SimpleHTTPRequestHandler
import http.server
def test(HandlerClass=SimpleHTTPRequestHandler,
ServerClass=http.server.HTTPServer):
protocol = "HTTP/1.0"
host = 'MY_IP_ADDRESS'
port = 8888
if len(sys.argv) > 1:
arg = sys.argv[1]
if ':' in arg:
host, port = arg.split(':')
port = int(port)
else:
try:
port = int(sys.argv[1])
except:
host = sys.argv[1]
server_address = (host, port)
HandlerClass.protocol_version = protocol
httpd = ServerClass(server_address, HandlerClass)
sa = httpd.socket.getsockname()
print("Serving HTTP on", sa[0], "port", sa[1], "...")
httpd.serve_forever()
if __name__ == "__main__":
test()
Результаты одинаковы. Я предполагаю, что это на самом деле нормальное поведение, но просто не в мою пользу: (
Итак, это приводит к двум обстоятельствам:
Я добавил новый тег, надеюсь, у кого-нибудь будет подсказка на это> <</p>