nodejs
servidores
code
Eloy Chacón |
29 de Septiembre de 2018
Instalar certificado SSL en un servidor Linux con NodeJS
Aquí te dejo los pasos para instalar un certificado de seguridad SSL en un servidor Linux con NodeJS
Hola programador... si eres del que tiene una aplicación hecha en NodeJS y seguramente con Angular, sabrás que la seguridad es muy importante, por eso si deseas instalar un certificado de seguridad SSL vas a tener que realizar estos pasos.
Al comprar el certificado tienes que guardar la llave que se genera durante el proceso, normalmente las compañia que venden certificados solo te dan hay .ca.bundle y el crt, por eso que guardar la llave es muy importante porque luego la vamos a necesitar. Puedes guardarla colocandole nombre_pagina.key
Si te piden validar el dominio para activar el certificado, debes crear una carpeta dentro de la carpeta client que es la que tenemos por asi decirlo publica en el navegador, en mi caso siempre me manda a crear esta carpeta: .well-known/pki-validation/
y dentro de ella guardar un archivo .txt
Luego que nuestro dominio y certificado estén validados la plataforma generará los archivos certificate.ca-bundle y el certificate.crt y nosotros debemos tener cuando generamos el csr el nombre_pagina.key
y para finalizar esta parte creamos una carpeta en nuestro directorio raiz de la plataforma a la misma altura de app.js que se llamará ssl y dentro de ella subimos los tres archivos del certificado.
Cuando ya tengamos listo esos pasos, nos vamos a nuestros archivos de la aplicación:
- Editamos app.js de la aplicacion de produccción
- Agregamos:
var fs = require('fs');
var https = require('https');
var credentials = {
ca: fs.readFileSync(__dirname + "/ssl/certificate.ca-bundle", 'utf8'), //la certification authority o CA
key: fs.readFileSync(__dirname + "/ssl/nombre_pagina.key", 'utf8'), //la clave SSL, que es el primer archivo que generamos ;)
cert: fs.readFileSync(__dirname + "/ssl/certificate.crt", 'utf8') //el certificado
};
// CODIGO DE LAS RUTA Y DEMAS DE NUESTRA APP
var httpsServer = https.createServer(credentials, app);
httpsServer.listen(443);
app.use(function (req, res, next) {
if (req.headers['x-forwarded-proto'] == 'http') {
res.redirect('https://www.dominio.com' + req.url, next)
} else {
return next()
}
})
- Editamos el archivo Global.ts de la carpeta services y colocamos:
export var GLOBAL = {
url: 'https://www.nombre_dominio.com:443/api/'
}
Importante
Recuerda que para que todo funcione correctamente se debe cambiar la ruta y el puerto del URL Global, es decir colocar el https y el puerto :443
Comenta que tal te fue, y si tienes alguna sugerencia hazme saber en programando@eloymanuel.com
Eloy Manuel
Tags:
angular, nodejs, servidores, linux, blog, programacion,