Sockets io con SSL, Apache, Ubuntu

Primero desplegamos nuestro servidor de Sockets.io Node con Node.

Escenario:

La app de node sale por el puerto 8101.
Partimos de que tenemos el SSL correctamente configurado con Let’s Encrypt.
PHP 5.6
Apache/2.4.29 (Ubuntu)

Lo que vamos a hacer es redirigir mediante Apache proxy el tráfico del puerto 443 (SSL) al puerto 8101 (Por donde sale nuestro server de Node).

Para ellos, desplegamos nuestra app de Node en nuestro servidor y la corremos (Enlace para correr nuestro servidor de Node en segundo plano en nuestro Linux).

Clonamos nuestra app node desde nuestro repositorio:

Nos dirigimos a nuestro directorio:

Instalamos dependencias:

Arrancamos nuestra app con Forever (Tutorial en el link del párrafo anterior):

Creamos el sitio en apache:

Y escribimos en este (cambiando el puerto 8101 por el que nosotros saquemos nuestro servidor de Node/Sockets):

Comprobamos que la sintaxis de nuestro sitio es correcta con:

Nos debería de responder: Syntax OK

Habilitamos el sitio:

Nos cercionamos que tenemos los siguientes módulos de Apache habilitados:

ssl
headers
proxy
proxy_http
proxy_wstunnel

Podemos listarlos con:

O podemos habilitarlos:

En caso de que ya estuvieran habilitados, no pasaría nada. Apache nos avisaría que ya está «enabled» y a marchar.

Reiniciamos nuestro apache:

Y a funcionar!

En caso de fallo, podemos pegarle un vistazo a Log, seguramente nos arroje algo de luz:


NOTA:

El cliente Socket se conectaría de la siguiente manera:

No apuntaríamos al puerto por el que sale nuestra app de node (8101 en mi caso), ya que estamos redirigiendo el tráfico del 443 (ssl) al 8101 para nuestro subdominio de sockets.

También sería válido:

Saludossss 💃🏻


Tu opinión es importante para mi, ¿Te ha resultado útil este artículo?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*