代理請求報頭動作

OpenResty Edge 提供了以下動作來修改代理到上游的請求報頭。

設定代理報頭

這個頁面規則中:

  • 使用了動作 設定代理報頭
  • 啟用了代理,方便檢查檢查動作執行結果。

設定代理報頭 要求兩個引數 報頭 以及 。其中 的型別可以選擇 字元傳內建變數

內建變數 有以下取值:(請以您使用的 Edge Admin 為準,不同版本的支援情況不同)

  • 客戶端地址
  • 客戶端埠
  • 主機名
  • 協議
  • 請求報頭 X-Forwarded-For 中的第一個地址
  • 請求報頭 X-Forwarded-For 中的最後一個地址
  • 請求頭
  • 系統主機名
  • SSL 客戶端主題專有名稱
  • SSL 客戶端簽發商專有名稱
  • SSL 客戶端驗證結果

請求示例:

$ curl http://test.com/anything
{
  ...
  "headers": {
    "X-Proxy-Header": "127.0.0.1"
  },
  ...
}

本示例中使用了內建變數 客戶端地址 來設定代理頭 X-Proxy-Header

設定代理主機

這個動作的作用是設定代理主機名,只有一個引數 主機名

請求示例:

$ curl http://test.com/anything
{
  ...
  "headers": {
    "Host": "openresty-edge.com",
  },
  ...
}

可以看到,主機名從 test.com 被修改了成 openresty-edge.com

代理頭追加值

這個動作會在指定的報頭中追加值,以英文逗號(,)分割。它的的引數與 類似,參考 進行設定即可。

請求示例:

curl http://test.com/anything -H 'X-Route-Trace: 127.0.0.1'
{
  ...
  "headers": {
    "X-Route-Trace": "127.0.0.1,1.2.3.4"
  },
  ...
}

可以看到,請求的 X-Route-Trace 報頭的原始值是 127.0.0.1,被修改成了 127.0.0.1,1.2.3.4, 其中,1.2.3.4 是頁面規則中指定的值。