2015-02-01 4 views

risposta

7

Sì, è abbastanza possibile.

È necessario disabilitare il middleware di Sails chiamato poweredBy e indicare al server Express.js di non aggiungere la propria intestazione.

Basta aggiornare il file di configurazione config/http.js di simile a questo:

module.exports.http = { 
    middleware: { 

    disablePoweredBy: function(request, response, next) { 
     var expressApp = sails.hooks.http.app; 
     expressApp.disable('x-powered-by'); 
// response.set('X-Powered-By', 'One Thousand Hamsters'); 
     next(); 
    }, 

    order: [ 
// ... 
// 'poweredBy', 
     'disablePoweredBy', 
// ... 
    ] 
    } 
}; 

Qui, stiamo recuperando un'istanza di Express Application da ganci Vele e poi usando il suo disable() metodo per impostare il parametro di configurazione x-powered-by-false valore. Ciò impedirà la visualizzazione dell'intestazione.

E per abilitare questo middleware personalizzato, è necessario aggiungerlo all'array order. È sufficiente sostituire il middleware poweredBy con disablePoweredBy.

Inoltre, annullando il commento del metodo response.set() è possibile impostare il proprio valore di intestazione.

8

Modificare il config/http.js e impostare poweredBy-false:

module.exports.http = { 
    middleware: { 
    poweredBy: false 
    } 
} 

Dal Sails will disable l'espresso X-Powered-By intestazione non v'è alcuna necessità di disattivare manualmente.

+0

Questo funziona perfettamente con le vele v 0,12. Questa dovrebbe essere la risposta accettata –

0

Non c'è bisogno di creare un nuovo middleware, è possibile nel cavalcare il middleware PoweredBy di Sails.js, ad esempio

module.exports.http = { 
    middleware: { 
    poweredBy: function (req, res, next) { 
     // or uncomment if you want to replace with your own 
     // res.set('X-Powered-By', "Some Great Company");  
     return next(); 
    } 
    } 
} 
Problemi correlati