requests node make instalar headers from javascript node.js express http-headers webserver

javascript - node - No se puede deshacer del encabezado X-Powered-By: Express



node js http request (9)

A partir de Express v3.0.0rc5, la compatibilidad para deshabilitar el encabezado X-Powered-By está integrada en:

var express = require(''express''); var app = express(); app.disable(''x-powered-by'');

Estoy ejecutando un servidor en nodejs con express. Parece que no puedo deshacerme del encabezado:

X-Powered-By:Express

Me preguntaba si hay alguna manera de deshacerse de este encabezado o tengo que vivir con él.


Aquí hay un útil middleware que puedes usar para intercambiar X-Powered-By:

function customHeaders( req, res, next ){ // Switch off the default ''X-Powered-By: Express'' header app.disable( ''x-powered-by'' ); // OR set your own header here res.setHeader( ''X-Powered-By'', ''Awesome App v0.0.1'' ); // .. other headers here next() } app.use( customHeaders ); // ... now your code goes here

El ajuste de X-Powered by en este caso anularía el ''Express'' predeterminado, por lo que no es necesario que deshabilite Y establezca un nuevo valor.


Desde la fuente ( http://expressjs.com/en/api.html#app.set ). En Express 4.X simplemente configure la aplicación usando la línea siguiente;

app.set(''x-powered-by'', false) // hide x-powered-by header!


En Express> = 3.0.0rc5:

app.disable(''x-powered-by'');

Aquí hay un middleware simple que elimina el encabezado en versiones anteriores de Express:

app.use(function (req, res, next) { res.removeHeader("x-powered-by"); next(); });



Para Ocultar, X-Powered By puede usar el casco Node .js Library.

El enlace para eso es helmet

var helmet = require(''helmet''); app.use(helmet.hidePoweredBy());


Solo para aprovechar la respuesta de rjack, también podría (opcionalmente) cambiar (configurar) el encabezado X-powered por algo mucho más frío / personalizado como este:

app.use(function (req, res, next) { res.header("X-powered-by", "Blood, sweat, and tears") next() })


Tal vez esto podría ser obvio para los usuarios de Express más experimentados, pero solo esto funcionó para mí:

app.configure(function() { app.use(function (req, res, next) { res.removeHeader("X-Powered-By"); next(); }); });


removeHeader solo funcionará en middleware de ruta, ejemplo coffeescript

fix_headers = (req, res, next) -> res.removeHeader ''X-Powered-By'' next() app.get ''/posts'', fix_headers, (req, res, next) -> ...