обратный прокси-сервер http подойдет, как этот конфиг apache с включенным mod_proxy.
Listen port ProxyPass /service1 http://host1:port1/service1 ProxyPass /service2 http://host1:port1/service2
диспетчеризация localhost: port / service1 и localhost: port / service2 включает знание протокола http. служба не распознается на уровне tcp, но запрашивает http get. я не знаю, что socat может справиться с этим.