2016-05-11 14 views
1

ノード4.4.3でexpress 4.xを使用しています。 Webサーバーはnginxで、ノードでhttpサーバーモジュールを実行しています。これは、nginxをリバースプロキシとして使用しています( 'upstream'を使用しています)。私は徹底的にこの設定/ヘッダーのための私のnginxのconfのファイルをチェックしてx-content-type-optionsはどこですか?nosniffはどこから来ますか?

x-content-type-options: nosniff 

ブラウザコンソールでそれを調べるとき、私は以下のレスポンスヘッダを参照してくださいが、それはありません。私はそれがどこから来ているかもしれないかについてのいくつかの指針を得ることができたのだろうか?そして、私はnginx.confでadd_header X-Content-Type-Options nosniff;を追加するとき、私は

X-Content-Type-Options:nosniff 
X-Content-Type-Options:nosniff 

下に示すように、上記のREPONSEヘッダに二回表示され、これを引き起こしているのだろうか。詳しい情報が必要な場合はお知らせください。おかげ

は、ここでフォルダの内容

enter image description here

答えて

1

私のノードインストールされたモジュールは、これはおそらく、あなたの急行アプリケーションにインストールパッケージから来ているのです。 package.jsonファイルを確認する必要があります。インストールされているすべてのパッケージの一覧を表示しているdependenciesの部分を探します。

Helmetは、通常、X-Content-Type-Options:nosniffヘッダーを追加するパッケージの1つです。

編集:あなたの依存関係リストによれば、最も可能性の高い解決策は、Expressで 'jsonp'のコンテンツを返すことです。この場合、Content-Typeヘッダーがユーザーによって設定されていない場合、ExpressはX-Content-Type-Optionsヘッダーを追加します(node_modules/express/libの289行目のresponse.jsファイルを参照)。 'finalhandler'、 'send'、または 'serve-static'のようなExpressによって使用される依存関係(Expressの依存関係リストについてはthere)から来るかもしれませんが、アプリケーション全体をデバッグすることは確実です。

+0

私はノードのインストールはかなり新しいですが、私はヘルメットをインストールしていません。ここに私のアプリケーションで使用する私の「必要な」リストがあります。 var moment = require( 'moment'); var mongoose = require( 'mongoose'); var express = require( 'express'); var bodyParser = require( 'body-parser'); var http = require( 'http'); var url = require( 'url'); ありがとうございます –

+0

OKです。あなたはpackage.jsonの依存関係リストも投稿していますか? – Guillaume

+0

ノードとエクスプレスは私にはかなり新しいです。私はノードのインストールやアプリケーションディレクトリの下で見つけることができないので、package.jsonの場所は何か不思議です。インストールしたモジュールのスクリーンショットを元の投稿に追加してみましょう。ありがとう –

関連する問題