например, я мог бы запустить веб-сервер на своем компьютере с подключением к маршрутизатору, который предполагает, что у него нет публичного IP-адреса. Как я могу отправить данные на него с другого клиента или сервера?

Веб-сокет кажется многообещающим, но мне нужно хорошее решение для поддержки в командной строке, и оно не требует изменения настроек на маршрутизаторе, таких как переадресация портов.

2 ответа2

1

Перенаправление порта

Переадресация портов - безусловно, самое простое решение.

Обратный туннель SSH

Другой способ - использовать сторонний общедоступный сервер в качестве ретранслятора. Вам нужно будет инициировать соединение с этим сторонним сервером с веб-сервера (поскольку ваш маршрутизатор блокирует входящие соединения), а затем использовать это соединение для ретрансляции HTTP-трафика через сторонний сервер.

Это почти наверняка можно сделать с помощью SSH туннелирования

Мне часто нужно получить доступ к машине за брандмауэром, чтобы заняться веб-разработкой, но у меня нет VPN. Не проблема - просто используйте обратный туннель SSH. К концу этого урока мы сможем подключиться к удаленному серверу по SSH, а также просматривать любые веб-страницы, к которым у сервера есть доступ.

(мой акцент)

1

В качестве альтернативы туннелированию ssh вы можете рассмотреть туннелирование ipv6. Я использую gogo6/freenet6 в качестве провайдера ipv6 (хотя есть и другие провайдеры). На windows клиент вообще просто работает. В Linux вам нужно скомпилировать клиент. Как только это будет сделано, вы можете получить доступ к системе через любую систему, которая поддерживает ipv6.

Преимущество настройки туннеля ipv6 заключается в том, что вы можете делать вещи, как если бы это был обычный публичный IP-адрес, потому что это так.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .