Buscando artículos sobre "Node.js"
30-agosto-2018
admin

Uso de NVM en Windows

NVM es el acrónimo de “Node Version Manager” o “Gestor de Versiones de Node”, te permite gestionar distintas versiones de NodeJs en una misma máquina.

Me voy a centrar en su instalación en windows. Pasos a seguir:


PRIMERO
A – Inicialmente tenemos que desinstalar todas las versiones de nodejs y npm que tengamos instaladas en nuestro equipo. Para ello vamos a programas y caracteristicas en nuestro panel de control y desinstalamos el NodeJs que tengamos intalado.´
B – Limpiamos del PATH todas aquellas variables de entorno que tengamos de node y npm.
C – Necesitaremos reiniciar el equipo.
D – Debemos revisar los siguientes directorios y eliminarlos ya que nvm no instalará nada si ya existen:

	C:\Program Files (x86)\Nodejs
        C:\Program Files\Nodejs
	C:\Users\{User}\AppData\Roaming\npm (or %appdata%\npm)
	C:\Users\{User}\AppData\Roaming\npm-cache (or %appdata%\npm-cache)
        C:\Users\{User}\.npmrc 
	C:\Users\{User}\AppData\Local\Temp\npm-*

SEGUNDO
Pasamos a su instalación. NVM no soporta windows así que debemos utilizar nvm-windows. Descargamos el zip y, tras ejecutarlo, seguimos las instrucciones de pantalla.
Si todo ha ido bien, nos vamos a la consola y escribimos nvm.

TERCERO
Ahora ya podemos instalar todas las versiones de node que vayamos a utilizar. En mi caso necesito al útlima, la 8.11.2 y la 6.14.2. Para ello abrimos la consola de windows como administrador y ejecutamos:

	nvm install v10.4.0
	nvm install v6.14.2
	nvm install v8.11.2

Con el comando nvm list vemos que las ha instalado correctamente.

CUARTO
Cuando queramos utilizar una version concreta de nodejs por ejemplo la 10.4.0 que habíamos instalado sólo tendremos que ejecutar:

	nvm use 10.4.0

Con node -v y con npm -v podremos ver que realmente estamos usando la version que hemos seleccionado.



Resumen de comandos NVM

//Instalar esa versión de node.js o latest para la versión estable actual.
	nvm install < versión >
//Una lista de instalaciones de node.js
	nvm list
//Desinstala esa versión de node.js
	nvm uninstall < versión >
//Cambiar a esa versión de node.js
	nvm use < versión >
15-diciembre-2017
admin

Modulo de seguridad Helmet para node.js

Se trata de una librería que provee de 12 módulos para establecer unos cabeceras de seguridad en tu servidor node.js. Concretamente:

Module Included by default?
contentSecurityPolicy for setting Content Security Policy  
expectCt for handling Certificate Transparency  
dnsPrefetchControl controls browser DNS prefetching
frameguard to prevent clickjacking
hidePoweredBy to remove the X-Powered-By header
hpkp for HTTP Public Key Pinning  
hsts for HTTP Strict Transport Security
ieNoOpen sets X-Download-Options for IE8+
noCache to disable client-side caching  
noSniff to keep clients from sniffing the MIME type
referrerPolicy to hide the Referer header  
xssFilter adds some small XSS protections

Para instalarlo sería con el comando:

npm install helmet --save 

Unos ejemplos de uso:

var express = require('express')
var helmet = require('helmet')
var app = express()

//Uso por defecto sería:
app.use(helmet())

//Activar individualmente las funciones.
app.use(helmet.noCache())
app.use(helmet.frameguard())

//Desabilitar alguna funcionalidad y usa el resto de las de por defecto.
app.use(helmet({
  frameguard: false
}))

Fuente

2-agosto-2017
admin

Logrotate

Logrotate permite rotar a los archivos de LOG de nuestras aplicaciones. El logrotate se trata de un servicio que se ejecuta de forma autónoma, si queremos comprobar su funcionamiento basta con ejecutar la siguiente instrucción:

    logrotate -vf /etc/logrotate.conf

Es en ese fichero donde se establece la configuración base para cualquier log que deseemos rotar. Vamos a poner un ejemplo de configuración para un aplicación de Node.js donde se utiliza Forever. Para ello:

Añadimos en /etc/logrotate.conf la configuración

/home/admin/.forever/*.log {
     daily       # how often to rotate
     rotate 10     # max num of log files to keep
     missingok     # don’t panic if the log file doesn’t exist
     notifempty    # ignore empty files
     compress      # compress rotated log file with gzip
     sharedscripts # no idea what it does, but it’s in all examples
     copytruncate  # needed for forever to work properly
     dateext       # adds date to filename
     dateformat %Y-%m-%d.
}

Tras añadirlo iniciamos el logrotate

     sudo logrotate -s /var/log/logstatus /etc/logrotate.conf

Podeis comprobar que los logs se están tratando asi:

     tail -f /var/log/logstatus



Documentación logrotate

Categorias

Linkedin