NGINX Websockets e configuração SSL

0

Estou tentando configurar uma conexão websocket (wss). Meu domínio usa ssl (certbot) e é ativado pelo Nginx. Não tenho certeza de como configurar meu arquivo /etc/nginx/sites-available/domain.com .

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
...
}

Adicionei o seguinte ao meu bloco de configuração:

location /websocket {
    proxy_pass         https://domain.com;
    proxy_http_version 1.1;
    proxy_set_header   Upgrade $http_upgrade;
    proxy_set_header   Connection "upgrade";
    proxy_set_header   Host $host;
}

Ao conectar via: wss://domain.com/ , estou recebendo um erro de

WebSocket connection to 'wss://domain.com/' failed: 
Error during WebSocket handshake: Unexpected response code: 200

A maioria dos exemplos está usando uma estrutura de nodejs para servir seus sites, mas estou usando o php. Existem alguns tutoriais que podem me guiar, ou alguém tem uma idéia de como configurar meu arquivo de configuração? Obrigado!

    
por PaulELI 28.09.2018 / 23:19

1 resposta

0

Seu endpoint websocket é configurado na configuração nginx fornecida como hospedado no local /websocket no servidor, mas você está tentando se conectar à URL raiz wss://domain.com .

A conexão websocket é uma sessão HTTP comum (com um wrapper TLS neste caso) até que a atualização ocorra, portanto, você deve garantir que o URL usado para acessar o serviço inclua todos os designadores de caminho relevantes, por exemplo, wss://domain.com/websocket .

    
por 28.09.2018 / 23:30

Tags