Как получить доступ к серверу Python http из удаленного соединения? - PullRequest
0 голосов
/ 24 апреля 2019

Я пробую команду python http.server из командной строки и пытаюсь получить доступ к серверу.Я могу легко получить доступ с локального хоста, но всякий раз, когда я пытаюсь использовать удаленное соединение, я не могу подключиться.

Я пробовал разные порты, и не похоже, что мой брандмауэр блокирует какие-либо соединения.

Из командной строки я запускаю

python3 -m http.server 8000

, что возвращает

Serving HTTP on 0.0.0.0 port 8000 ...

Однако я могу подключиться к серверу только с локального хоста.

sudo iptables -S

возвращает следующее:

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT

Я ожидаю, что смогу подключиться с удаленного хоста с помощью URL http://10.247.30.125:8000 (мой IP-адрес), но я не могу это сделать,Тот же URL-адрес отлично работает на localhost.

Ответы [ 2 ]

0 голосов
/ 24 апреля 2019

Я понял, что происходит. Прочитал про IP и NAT, и заметил, что любой IP-адрес, начинающийся с 10, зарезервирован для частных IP-адресов. Таким образом, попытка подключиться к 10.247.30.125:8000 из любой точки, кроме моей собственной сети (то есть, хотя она не подключена к моему wifi), не работает. Чтобы иметь возможность подключаться из внешней сети, мне нужно настроить переадресацию портов (как предложил Reedinationer), и мне нужно будет использовать публичный IP-адрес моего маршрутизатора, а не частный IP-адрес моего компьютера. Я бы настроил переадресацию порта с моего маршрутизатора для направления внешнего трафика на мой компьютер, что позволило бы мне подключаться к моему персональному компьютеру из внешней сети.

Спасибо всем, кто откликнулся!

0 голосов
/ 24 апреля 2019

порт отсутствует в URL, попробуйте этот URL, он должен работать "http://10.247.30.125:8000"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...