• Email CO: ceo@programandoweb.net
  • Agenda una cita: +573042059044

Certificado Letsencrypt + React JS (Actualizado)

PorLCDO. JORGE MENDEZ

Certificado Letsencrypt + React JS (Actualizado)

Confieso que aunque hay mucha información sobre ReactJS, el montar un servidor con certificado Letsencrypt fue cuesta arriba. La ayuda disponible en los foros por lo general hablan de poner en producción la apliación pero no con estas características.

La solución la conseguí para mi proyecto, un chat con el aspecto de whatsapp publicado en github, pero con sus particularidades.

Para saber como lo hice en el backend del chat, desde luego en node.js, pueder ver cómo instalar node.js con certificado Letsencrypt en mi artículo.

También pueder ver cómo instalar Letsencrypt en Centos.

Sin más que decir, lo que hice fue buscar dentro de node_module/webpack-dev-server/lib/Server.js y coloqué antes de la condición:

if (semver.gte(process.version, '10.0.0'))

la siguientes líneas de código con la información de la ubicación del certificado:

// Certificate
      const privateKey = fs.readFileSync('/etc/letsencrypt/live/sudominio.com/privkey.pem', 'utf8');
      const certificate = fs.readFileSync('/etc/letsencrypt/live/sudominio.com/cert.pem', 'utf8');
      const ca = fs.readFileSync('/etc/letsencrypt/live/sudominio.com/chain.pem', 'utf8');

      const credentials = {
      	key: privateKey,
      	cert: certificate,
      	ca: ca
      };

y cambié:

this.listeningApp = require('spdy').createServer(options.https, app);

por:

this.listeningApp = https.createServer(credentials, app);

Una vez finalizado, npm start y listo.

Actualización

Para utilizar Letsencrypt con CRT:

const privateKey = fs.readFileSync('/etc/pki/tls/private//services.workplace.com.co.key', 'utf8');
const certificate = fs.readFileSync('/etc/pki/tls/certs/services.workplace.com.co.cert', 'utf8');
const ca = fs.readFileSync('/etc/pki/tls/certs/services.workplace.com.co.bundle', 'utf8');

Sobre el autor

LCDO. JORGE MENDEZ administrator

Desarrollador Web Venezolano, Feliz Padre, Gusto excesivo por la programación, escalar montañas, ciclismo indoors y pesas

Deja una respuesta