Estou tão perdido e novo em criar o NGINX por conta própria, mas quero poder habilitar soquetes da web seguros sem ter uma camada adicional.
Não quero habilitar o SSL no servidor websocket, mas quero usar o NGINX para adicionar uma camada SSL à coisa toda.
Toda página da web diz que não posso fazer isso, mas sei que posso! Obrigado a quem (eu) possa me mostrar como!
proxy_read_timeout
funciona, editei a resposta.location
diretiva é colocada dentro de umaserver
ou outralocation
diretiva (consulte a documentação do local ).backend_host
é umupstream
(consulte os documentos upstream ) - um ou um grupo de servidores aos quais você fará proxy.Não tenha medo, porque um corajoso grupo de programadores de operações resolveu a situação com uma nova marca nginx_tcp_proxy_module
Escrito em agosto de 2012, por isso, se você é do futuro, deve fazer sua lição de casa.
Pré-requisitos
Supõe que você esteja usando o CentOS:
init.d/nginx
script)yum install pcre pcre-devel openssl openssl-devel
e quaisquer outras bibliotecas necessárias para criar o NGINXCrie seu novo NGINX
Novamente, assume o CentOS:
cd /usr/local/
wget 'http://nginx.org/download/nginx-1.2.1.tar.gz'
tar -xzvf nginx-1.2.1.tar.gz
cd nginx-1.2.1/
patch -p1 < /path/to/nginx_tcp_proxy_module/tcp.patch
./configure --add-module=/path/to/nginx_tcp_proxy_module --with-http_ssl_module
(você pode adicionar mais módulos, se precisar)make
make install
Opcional:
sudo /sbin/chkconfig nginx on
Configurar o Nginx
Lembre-se de copiar primeiro os arquivos de configuração antigos, se desejar reutilizá-los.
Importante: você precisará criar uma
tcp {}
diretiva no nível mais alto da sua conf. Verifique se ele não está dentro da suahttp {}
diretiva.A configuração de exemplo abaixo mostra um servidor websocket upstream único e dois proxies para SSL e Não SSL.
fonte
Isso funcionou para mim:
- emprestado de: https://github.com/nicokaiser/nginx-websocket-proxy/blob/df67cd92f71bfcb513b343beaa89cb33ab09fb05/simple-wss.conf
fonte
# WebSocket support
cortou fez isso por mim. Eu estava anteriormente tentando encaminhar a porta 400, obras no entanto WSS mais de 443. leitores FYI futuras :)para .net core 2.0 Nginx com SSL
Isso funcionou para mim
fonte
Para mim, tudo se resumia à
proxy_pass
configuração do local. Eu precisava mudar para usar o protocolo HTTPS e ter um certificado SSL válido configurado no servidor do nó. Dessa forma, quando eu apresento um servidor de nó externo, só preciso alterar o IP e tudo o mais permanece a mesma configuração.Espero que isso ajude alguém ao longo do caminho ... Fiquei olhando o problema o tempo todo ... suspiro ...
fonte
localtion /horizon
, mas não está funcionando. Somentelocaltion /
oulocation /websockify
funciona. Não sei por que ... #Um artigo bom e conciso de Pankaj Malhotra discute como fazer isso com o NGINX e está disponível aqui .
A configuração básica do NGINX é reproduzida abaixo:
fonte
Usando nginx / 1.14.0
Eu tenho um servidor websocket em execução na porta 8097 e os usuários se conectam ao wss na porta 8098, o nginx apenas descriptografa o conteúdo e o encaminha para o servidor websocket
Então, eu tenho esse arquivo de configuração (no meu caso
/etc/nginx/conf.d/default.conf
)fonte