Hello Wei Han,
Do you send 'viewfs://' as a request (like http) ?
Also, there could be a chance that the protocol could be http or https, so
I think it would be better to handle both in the rewrite rules, for e.g.
<rule name="test-rule-with-complex-flow" flow="OR">
<match pattern="http://*:*/**/oozie/">
<rewrite template="{$serviceUrl[OOZIEUI]}/"/>
</match>
<match pattern="https://*:*/**/oozie/">
<rewrite template="{$serviceUrl[OOZIEUI]}/"/>
</match>
</rule>
There could be a better way to handle this, if anyone knows please let me
know !
Best,
Sandeep
On Fri, Oct 27, 2017 at 1:15 AM, Wei Han <[email protected]> wrote:
> We have seen some false positives with the current rewrite rules. For
> example the following rule in oozieui will rewrite
> viewfs://ns-default/foo/bar/oozie/myfile.jar to
> http://oozie:11000/oozie/myfile.jar
> <rule dir="IN" name="OOZIEUI/oozie/inbound/root"
> pattern="*://*:*/**/oozie/">
> <rewrite template="{$serviceUrl[OOZIEUI]}/"/>
> </rule>
>
> The reason is the ** before 'oozie' in the pattern can match any number of
> paths, however in reality any valid url(like https://localhost:844
> 3/gateway/sandbox/oozie/v1/jobs?action=start) should only have two paths
> before 'oozie', so can we change the pattern to "*://*:*/**/**/oozie/"
> (note the extra slash I added between the stars)?
>
> Another option is to make the scheme explicit in the patter, for example:
> https://*:*/**/oozie/
>
> Thanks.
>
>
>