Из Вашего собственного комментария, что можно сделать ssh -p 3000 locahost
и это работает, Ваш метод действителен. Где-нибудь вдоль строки Ваше соединение с тем внешним хостом блокируется. Возможно, что школа по некоторым причинам блокирует любой исходящий трафик на порте 3000, или существует firewall/acl на 'внешнем' хосте, который блокирует соединение. Другая удаленная возможность состоит в том, что ISP той внешней стороны блокирует соединение.
Попытайтесь соединиться от другого внешнего хоста до него и посмотрите, работает ли это. Если это делает, то Ваша школа блокирует его (который был бы действительно нечетными, но школьными сетями, обычно). Иначе смотрите на правила брандмауэра о том внешнем хосте, чтобы видеть если его блокирование его. К сожалению для того последнего случая блокирования ISP нет никакого очень легкого способа сказать, является ли это блокирование ISP или сама машина.
Я бы использовал для этого DNS.
Если ваш бизнес-домен - wemonitorstuffforyou.com
, а приложение для подписчиков называется subscribingclientsapp
.
Настройте субдомен с именем subscribingclientsapp.wemonitorstuffforyou.com
для клиентского приложения, которое будет использовать при отправке ваших данных.
В будущем, если этот клиент не сможет продолжить работу с вашим сервисом, вы можете перенаправить субдомен на точка в другом месте. Если в будущем клиент решит перезапустить ваши службы, вы просто перенастроите указатель субдомена.
Если в URI есть какое-либо значение, специфичное для клиента, вы можете фильтровать и отклонять нежелательные запросы на уровне брандмауэра с помощью iptables.