web-dev-qa-db-ja.com

ヘッダーX-Powered-By:Expressを削除できません

私はエクスプレスでnodejs上でサーバーを実行しています。私はヘッダーを取り除くことができないようです:

X-Powered-By:Express

このヘッダーを取り除く方法があるのか​​、それとも一緒に暮らさなければならないのか疑問に思っていました。

164
tyronegcarter

Express> = 3.0.0rc5の場合:

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

以下は、以前のバージョンのExpressでヘッダーを削除する簡単なミドルウェアです。

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

Rjackの答えに便乗するために、(オプションで)X-powered-byヘッダーを次のような非常にクール/カスタムに変更(設定)することもできます。

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

Express v3.0.0rc5では、X-Powered-Byヘッダーを無効にするサポートが組み込まれています:

var express = require('express');

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

ソースから( http://expressjs.com/en/api.html#app.set )。 Express 4.Xでは、次の行を使用してアプリを設定するだけです。

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

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

この場合、X-Powered byを設定するとデフォルトの「Express」がオーバーライドされるため、無効にして新しい値を設定する必要はありません。

10
papercowboy

たぶん、これはよりベテランのExpressユーザーには明らかかもしれませんが、これだけが私のために働いた:

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

非表示の場合、X-Powered Byを使用してNode .js Libraryhelmet)を使用できます。

そのためのリンクは ヘルメット

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

コードを読む https://github.com/visionmedia/express/blob/master/lib/http.js#L72 見えないので、あなたはそれと共に生きなければならないと思う条件付きにする。

Nginx/Apacheフロントエンドを使用している場合、ヘッダーを削除することができます(Apacheのmod_headersとnginxのheaders-moreを使用)

1
hellvinz

removeHeaderは、ルートミドルウェア、coffeescriptの例でのみ機能します

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

app.get '/posts', fix_headers, (req, res, next) ->
  ...
0