在 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"
我正在使用 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"