o handshake socket.io falha no balanceador de carga do https do Google

1

Temos a seguinte configuração para o balanceador de carga do Google HTTPS.

Dois front ends: 1. Tráfego HTTP para IP estático 2. Tráfego HTTPS para o mesmo IP estático (DNS configurado para um nome de domínio)

regras de host e caminho Todos indo para backend

Um back-end: Com o protocolo HTTP com afinidade de sessão definida para o IP do cliente

A instância de back-end tem um aplicativo MEAN em execução na porta 3000.

Do nosso aplicativo do lado do cliente, podemos acessar o aplicativo de backend usando o nome de domínio do balanceador de carga. Mas também temos um recurso de bate-papo com o socket.io

Para conexão de soquete, não conseguimos usar o nome de domínio do balanceador de carga. Ele gera 400 erros.

Se tentarmos usar o IP de back-end diretamente para a conexão de soquete, ele funciona, mas se o cliente estiver em HTTPS, ele cria outro problema porque o back-end é http.

A documentação do Google diz que o loadbalancer suporta websockets por padrão. Então não tenho certeza do que está acontecendo. Todos os outros exemplos que vejo são relativamente antigos e não são relevantes, penso eu. Qualquer ajuda é apreciada. Obrigado.

    
por NunnaS 20.04.2018 / 02:54

0 respostas