Redirecionar websockets para porta?

Redirecionar websockets para porta?

Então, eu tenho um servidor WebSocket em C++, que é uma entidade completamente autônoma - lida com análise de cabeçalho, recebimento, envio, tudo por conta própria, ouvindo diretamente na porta.

O problema é que ele precisa ser executado em um servidor junto com o Apache, e isso é um pouco problemático. Agora, houve uma solução aqui para um problema semelhante envolvendo mod_proxy, mas espero poder interceptar e redirecionar a comunicação WebSocket antes mesmo que o Apache saiba disso, possivelmente com iptables.

Portanto, a questão é: é possível direcionar o tráfego com destino abater papo.mysite.net para um servidor WebSocket, digamos, na porta 8080, enquanto qualquer outra coisa direcionada para mysite.net prossegue conforme o esperado para o Apache?

Responder1

Acontece que isso é muito fácil; basta codificar o cliente para acessar o servidor em ws://mysite.com:8080. Com toda a divulgação de que WebSockets podem usar a porta 80, fiquei bastante surpreso ao saber que isso não acontece.precisarpara.

Responder2

Desculpe, não é possível com o iptables porque o iptables não fala/entende o protocolo http. Alguém deveria escrever ip_conntrack_http para que isso pudesse realmente funcionar (algo semelhante a ftp conntrack thingie) ;-) Até então você provavelmente deveria usar o apache com mod_proxy ou nginx.

informação relacionada