在 IHS 服务器中复制 HTTP header 中的传入 URL 上下文

Copy Incoming URL Context in HTTP header in IHS server

我正在使用 IHS 通过重写规则将传入的 url 路由到我的应用程序。 但我也想保存 url 以便我可以在我的应用程序中使用它。

所以我的问题是,我们是否可以在执行重写规则之前将传入的 URL 复制到 Message HTTPHeader。

例如:

传入请求

url: 
    http://abc.test/pqr/MPP

HTTP Body:
{
 "xml": {
   "name": "testName",
   "item": { "invoice": "447632938" }
  }
}

要转换为

url: 
    http://xyz.test/targetApp/ss

HTTP Header:
Context:"pqr/MPP"   

HTTP Body:

{
  "xml": {
    "name": "testName",
    "item": { "invoice": "447632938" }
  }
}

我尝试使用下面的代码设置 Header,但是 header 为 null

SetEnvIf REQUEST_URI "(.*)/pqr/MPP" HTTP_CONTEXT=REQUEST_URI
RequestHeader set HTTP_CONTEXT %{HTTP_CONTEXT}e

下面的脚本对我有用。

SetEnvIf REQUEST_URI "(.*)/pgr/(.*)" HTTP_CONTEXT=
RequestHeader set HTTP_CONTEXT %{HTTP_CONTEXT}e

当我尝试使用 URL 时:http://abc.test/pqr/XYZ

我得到了一个 HTTP Header "HTTP_CONTEXT" 值

HTTP_CONTEXT = "XYZ"