Я пытаюсь реализовать «динамический» прокси-сервер пересылки для доступа к локальному хосту из Интернета, как Ngrok в чистой Java.
Этот парень, по сути, делает то же самое: https://serveo.net/#intro (но без клиента)
Идея заключалась бы в том, чтобы использовать один и тот же порт на сервере и создать динамический прокси для каждого клиента на основе субдомена
Проблема в том, что реализация по умолчанию выдает ошибку при втором соединении .. говоря, что порт уже открыт.
org.apache.sshd.common.forward.DefaultForwardingFilter # doBind
У кого есть идеи, как это реализовать?
Преимущество этого в том, что вам даже не нужен КЛИЕНТ, такой как Ngrok, для этого ... просто использование обычного ssh было бы возможно.
ssh -R http2: 9000: localhost: 8002 localhost -p 4440
ssh -R http2: pSERVER: localhost: pLOCAL localhost -p SSHD_PORT
вариант, который я себе представлял, - это динамическое создание портов на сервере: игнорирование порта 'pSERVER' и создание HttpProxy для перенаправления каждого порта. Но я нахожу это очень неэффективным, я полагаю, что это можно будет сделать, только проанализировав заголовок запроса и сделав перенаправления для соответствующих каналов / соединений