概要
envoyを経由してhttpリクエストを、APPサーバーに送るときのヘッダー情報を追加/変更をしてみる
やったこと
route_config.request_headers_to_add
を利用する。header
に key
value
を指定する。
appendについては、オプションだがデフォルトだと値の追加になり、下記の例で、append: true
だと
http
の値が来た場合に http,https
のような変な値になってしまったので append: false
を指定している。
request_headers_to_add:
- header: { key: "X-Forwarded-Port", value: "443" }
append: false
- header: { key: "X-Forwarded-Proto", value: "https" }
append: false
リクエスト情報をヘッダーの値として格納したい
formated-stringsを利用する。 コレ
"%REQ(X-FORWARDED-FOR)%"
のような感じでリクエストのメタ情報を値として使うことができる
例えば…
%REQ(:METHOD)%
%REQ(USER-AGENT)%
%REQ(X-REQUEST-ID)
などなど
ちなみに先頭に :
がつく、つかないの規則はよくわからない
request_headers_to_add:
- header: { key: "X-Forwarded-Port", value: "%REQ(X-REAL-FORWARDED-PORT)%" }
append: false
- header: { key: "X-Forwarded-Proto", value: "%REQ(X-REAL-FORWARDED-PROTO)%" }
append: false