Estou usando o nginx para servir uma instância do aplicativo PHP e, ao mesmo tempo, executando um aplicativo Ratchet para ouvir uma conexão de websocket. O problema é que ambas as instâncias estão usando a mesma porta (80).
Como faço para configurar o servidor para poder servir aos dois?
Edit: Acabei de voltar para ver que a pergunta foi rebaixada várias vezes, compreensivelmente, eu realmente não a fiz de maneira clara. Me desculpe por isso. Eu fiz a minha diligência embora. Tentarei esclarecer o que estava perguntando; talvez eu tenha entendido mal alguns aspectos do protocolo websocket; nesse caso, corrija-me:
Sei bem que só pode haver um processo ouvindo uma porta específica. O que estou realmente tendo algum problema é a coisa toda sobre websocket. Pelo que entendi, uma solicitação de websocket começa com um handshake HTTP, após o qual haverá mecanismo para 'atualizar' essa sessão para a porta específica.
Pelo que li, parece que esse mecanismo de atualização é tratado pelo servidor da web. Então, como faço para configurar o nginx para lidar com esse processo?
Em suma, a única coisa que me preocupa em executar o servidor websocket em uma porta diferente de 80 é a possibilidade de a porta estar bloqueada. Esta preocupação é infundada? Algum conselho sobre como eu deveria estar configurando isso?
fonte
Respostas:
Uma pergunta terrivelmente escrita, mas o termo que eu procurava era proxy reverso.
Basicamente, assim como o nginx pode encaminhar solicitações diferentes para várias instâncias do aplicativo Web com base no caminho ou no nome do host, ele também pode ser configurado para "encaminhar" a solicitação para uma instância do servidor Websocket. por exemplo:
As solicitações HTTP
http://hostname
serão veiculadas na página html usual, enquanto a conexão com o websocketwss://hostname/socket
será encaminhada para a instância do websocket no mesmo servidor que está atendendo na porta 8000.fonte
proxy_read_timeout
eproxy_write_timeout
evitar desconexões por inatividade.Um servidor não pode ter dois softwares diferentes escutando na mesma porta / endereço IP. Caso contrário, como o tráfego seria roteado para o Aplicativo XYZ se vários aplicativos pudessem ser vinculados à mesma porta?
Você pode aprender mais sobre portas em Port (rede de computadores)
O que você precisa fazer é uma das seguintes opções:
Seu firewall só precisa ser configurado de acordo com o que você configurou.
fonte
Você tem duas opções:
fonte