[解決済み] express.jsの「trust proxy」は実際に何をするのか、また使う必要があるのか?
質問
nginx サーバーの背後に位置する express アプリを作成しています。 express のドキュメントを読んでいたら、「trust proxy」設定について言及されていました。そこに書かれているのは
trust proxy リバースプロキシサポートを有効にする、デフォルトでは無効
Nodeでnginxを使ったセキュアセッションを解説しているこちらの小記事を読みました。
http://blog.nikmartin.com/2013/07/secure-sessions-in-nodejs-with-nginx.html
そこで、気になることがあります。 trust proxy' を true に設定するのは HTTPS を使用するときだけでしょうか? 現在、私のアプリはクライアントと nginx 間で HTTP のみ使用しています。 今これを true に設定した場合、注意しなければならない副作用や影響はありますか?今、それを true に設定することに意味はあるのでしょうか?
どのように解決するのですか?
で詳しく説明しています。 express behind the proxies ガイド
app.enable('trust proxy') によって "trust proxy" 設定を有効にすると、Express はプロキシの背後にあることを認識し、X-Forwarded-* ヘッダー フィールドを信頼できるようになり、それ以外の場合は容易になりすますことができるようになります。
この設定を有効にすると、いくつかの微妙な効果があります。その 1 つは、X-Forwarded-Proto がリバース プロキシによって設定され、アプリに https か単なる http かを伝えることができることです。この値は、req.protocol によって反映されます。
これによる 2 つ目の変更は、req.ip と req.ips の値に X-Forwarded-For のアドレスのリストが入力されるようになることです。
関連
-
[解決済み] bodyParser は非推奨です express 4
-
[解決済み] MongoDB でコレクションを日付順に並べるには?
-
[解決済み] S3 Bucket に何かを送信しようとすると、AWS Missing credentials が表示される (Node.js)
-
[解決済み] Macでポート3000をロックしているプロセスを見つける(そして殺す)【終了
-
[解決済み] -saveと-save-devの違いは何ですか?
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] Express.jsとは?
-
[解決済み】Node.js / Express.js - app.routerはどのように動作するのですか?
-
[解決済み】Expressjsのmiddlewareとapp.useの実際の意味は何ですか?
-
[解決済み] express.jsでプロキシ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 再インストールを繰り返しても、npm run でモジュール 'sass' が見つからない。
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み】Heroku + node.jsのエラー(Webプロセスが起動後60秒以内に$PORTにバインドできなかった)。
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] TypeError: コールバックはnodejsの関数ではありません。
-
[解決済み] E: npm パッケージを見つけることができません。
-
[解決済み] nodejs - http.requestでresponse.writeを使用する場合、第一引数は文字列またはBufferでなければなりません。
-
[解決済み] エラーメッセージ MongoError: bad auth URI 文字列で認証に失敗しました。
-
[解決済み] NodeJsのSequelizeでautoIncrementはどのように動作するのですか?
-
[解決済み] エラーです。Expressでビューの検索に失敗しました