Estou executando um servidor no nodejs com express. Não consigo me livrar do cabeçalho:
X-Powered-By:Express
Eu queria saber se existe alguma maneira de se livrar desse cabeçalho ou eu tenho que viver com ele?
javascript
node.js
express
http-headers
webserver
tyronegcarter
fonte
fonte
Respostas:
No Express> = 3.0.0rc5:
Aqui está um middleware simples que remove o cabeçalho nas versões anteriores do Express:
fonte
app.use(app.router);
para que ele funcionasse.4.15.2
. solução @harrisunderwork usandoapp.set()
fez o truque.Apenas para acompanhar a resposta de rjack, você também pode (opcionalmente) alterar (definir) o cabeçalho alimentado por X para algo muito mais legal / personalizado como este:
fonte
A partir do Express v3.0.0rc5, o suporte para desativar o
X-Powered-By
cabeçalho é incorporado:fonte
Na fonte ( http://expressjs.com/en/api.html#app.set ). No Express 4.X, basta definir o aplicativo usando a linha abaixo;
fonte
Aqui está um middleware útil que você pode usar para trocar o X-Powered-By:
A configuração de X-Powered nesse caso substituirá o padrão 'Express', para que você não precise desativar E definir um novo valor.
fonte
Talvez isso possa ser óbvio para os usuários mais experientes do Express, mas apenas isso funcionou para mim:
fonte
Às vezes, as respostas no topo não funcionam. Este é o meu caso. Eu tenho o Express 4.17.1 e ninguém responde não funciona. Então, eu inventei minha própria solução:
fonte
Para ocultar, X-Powered By, você pode usar o capacete da biblioteca Node .js .
O Link Para isso é capacete
fonte
Nenhuma das soluções padrão trabalha para mim também. Depois de muita pesquisa, descobri que usamos um arquivo de rotas em que uma nova instância expressa foi iniciada, que foi posteriormente adicionada à primeira usando app.use. Somente para as rotas nessa nova instância expressa, o cabeçalho X-Powered-By estava presente.
Visão simplista da questão:
A solução foi simplesmente criar um novo express.Router em vez de uma instância inteira.
fonte
Lendo o código https://github.com/visionmedia/express/blob/master/lib/http.js#L72 me faz pensar que você terá que conviver com ele, pois não parece ser condicional.
Se você possui um frontend nginx / apache, ainda pode remover o cabeçalho com ele (com mod_headers para apache e headers-more para nginx)
fonte
removeHeader funcionará apenas no middleware de rota, exemplo de coffeescript
fonte
Nada disso funcionou para mim, exceto isso (você precisa adicionar outro parâmetro):
Estou usando o Express ^ 4.17
fonte