Discussion:
problem when rewrite host header with plugin header_rewrite
彭勇
2017-03-09 09:15:49 UTC
Permalink
I would like to like rewrite host header with regex:

some.domain.abc.com -> some.domain

here is regex:

/(.*)\.abc\.com$/ -> $1

i dig into header_rewrite doc and code, but i don't know how to write
the rewrite rule with regex:

cond %{SEND_REQUEST_HDR_HOOK}
cond %{HEADER:HOST} /(.*)\.abc\.com$/
set-header host how_to_write_some_regex_value


here is some hint in document:

Setting a header with a value can take the following formats:

Any condition which extracts a value from the request.
$N, where 0 <= N <= 9, from matching groups in a regular expression.
--
Peng Yong
Leif Hedstrom
2017-03-09 15:25:47 UTC
Permalink
You can do this with map_regex without a plugin I think.

-- Leif
Post by 彭勇
some.domain.abc.com -> some.domain
/(.*)\.abc\.com$/ -> $1
i dig into header_rewrite doc and code, but i don't know how to write
cond %{SEND_REQUEST_HDR_HOOK}
cond %{HEADER:HOST} /(.*)\.abc\.com$/
set-header host how_to_write_some_regex_value
Any condition which extracts a value from the request.
$N, where 0 <= N <= 9, from matching groups in a regular expression.
--
Peng Yong
彭勇
2017-03-10 00:40:34 UTC
Permalink
thanks zwoop,

i would like to only rewrite the host header and not the origin server.

the map_regex will rewrite the host header and the origin server.
Post by Leif Hedstrom
You can do this with map_regex without a plugin I think.
-- Leif
Post by 彭勇
some.domain.abc.com -> some.domain
/(.*)\.abc\.com$/ -> $1
i dig into header_rewrite doc and code, but i don't know how to write
cond %{SEND_REQUEST_HDR_HOOK}
cond %{HEADER:HOST} /(.*)\.abc\.com$/
set-header host how_to_write_some_regex_value
Any condition which extracts a value from the request.
$N, where 0 <= N <= 9, from matching groups in a regular expression.
--
Peng Yong
--
Peng Yong
Nick Kew
2017-03-10 08:53:17 UTC
Permalink
Post by 彭勇
thanks zwoop,
i would like to only rewrite the host header and not the origin server.
the map_regex will rewrite the host header and the origin server.
Check your proxy.config.url_remap.pristine_host_hdr
--
Nick Kew
Loading...