0
Proxy_pass en nginx a wss://

Solved 1 Respuestas 17 Views nginx

Tengo que hacer un proxy_pass a un websocket y según leí lo que tenía que hacer era agregar lo que figura en http://nginx.com/blog/websocket-nginx/ al location.

El problema es que nginx me está devolviendo 502 y en los logs figura:
 

[error] 31332#0: *2966067 SSL_do_handshake() failed (SSL: error:14094412:SSL routines:SSL3_READ_BYTES:sslv3 alert bad certificate:SSL alert number 42) while SSL handshaking to upstream

1 Respuesta

2
Mejor respuesta
Suena a que Nginx está queriendo validar el certificado y le falta info. Probablemente estés con un certificado autofirmado, o falte incluir a las CAs (intermedias y/o root) en el cert.

Deberías poder deshabilitar la verificación con http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_verify
respondido por godlike (8,550 puntos) Jun 10, 2015
seleccionada por ajolo Jun 26, 2015
4Comentarios
comentado por ajolo (3,160 puntos) Jun 10, 2015
Pensé que podría venir por ese lado pero proxy_ssl_verify viene por defecto en off. Probé forzarlo pero el error en los logs es el mismo.
comentado por godlike (8,550 puntos) Jun 10, 2015
Podés mostrar el pedazo de configuración del nginx.conf, de última con los valores sensibles comentados? En los logs no hay nada más que ese error solo?
comentado por ajolo (3,160 puntos) Jun 10, 2015
Recién me di cuenta de que estaba usando el proxy_pass a https y en el ejemplo de nginx.org estaba en http. Ahora el error es "upstream sent no valid HTTP/1.0 header while reading response header from upstream" pero voy a ver bien con los devs qué es lo que está del otro lado.
comentado por Santiago Jun 16, 2015
¿No podés servir el websocket sin ssl, e instalar el certificado en el nginx?
...