Websockets e Firewall

2

Eu perguntei esta questão no Stack Overflow primeiro, mas depois achei que a falha do servidor poderia estar um lugar melhor para postar.

Eu tenho dois servidores WebSocket rodando em portas diferentes de 80 e 443. Esses dois servidores estão rodando atrás de um firewall que só tem as portas 80 e 443 abertas.

WebSocket Server A:800 |
                       |-----|FireWall:80 & 443|-----> INTERNET
WebSocket Server B:801 |

O que eu estou procurando é uma forma de meus clientes se conectarem aos servidores WebSocket sem saber sua porta e sem eu abrir o firewall para quaisquer outras portas em vez de 80 e 443.

Então, eu estava pensando que talvez um servidor intermediário (ou servidor proxy) entre meus servidores firewall e WebSocket possa ser configurado de maneira que os clientes solicitem www.mywebsite.com/a na porta 80 ou 443 (para passar o firewall) o servidor intermediário conecta o cliente ao WebSocket Server A. E quando o cliente solicita www.mywebsite.com/b na porta 80 ou 443, o servidor intermediário o conecta ao WebSocket Server B. Isso é possível? e em caso afirmativo, existe algum servidor que você saiba que tenha esse recurso implementado?

Em uma nota diferente (talvez não muito diferente), quais seriam as diferenças entre o perfurador TCP e a abordagem Eu expliquei acima?

    
por mrz 18.02.2013 / 11:09

2 respostas

1

Parece que você precisa adicionar um proxy reverso entre o seu firewall e seus servidores.

Ao usar o módulo apache websocket , você deve poder encaminhar solicitações de websocket para seus servidores por meio de seu proxy reverso.

    
por 18.02.2013 / 12:21
1

Eu sugeriria o módulo mod_proxy_wstunnel disponível no Apache 2.4.5 em diante. Ele permite que você retransmita de uma URL para outro servidor de websocket em qualquer porta.

por exemplo. Para tomar o seu exemplo:

ProxyPass /ws1/  ws://websocketserverA:800/
ProxyPass /ws2/  ws://websocketserverB:801/
    
por 10.10.2014 / 02:16