I am having issues with Knox encoding the following URL when parsing html
content.

/proxy/application_222233323323_0001/stages/stage?id=0&attempt=0


This URL is generated by Yarn to track a running spark job. When applying
regular rules to the above URL, Knox encodes the URL to:


/proxy/application_222233323323_0001/stages/stage?amp%3Battempt=0&id=0


Which makes the URL unusable and leads to a 404. To make the URL work I
have to remove "amp%3B" and then it works.


Below are the filter and the rule I am using for this URL and I appreciate
your help/comments for a remediation.


<filter name="YARNUI/yarn/outbound/apps1">
    <content type="*/html">
        <apply path="/proxy/[^']+/stages/stage[^']*"
rule="YARNUI/yarn/outbound/apps/history3"/>
    </content>
</filter>


<rule dir="OUT" name="YARNUI/yarn/outbound/apps/history3">
    <match pattern="/proxy/{*}/stages/stage?{**}"/>
    <rewrite template="{$frontend[url]}/yarn/proxy/{*}/stages/stage?{**}"/>
</rule>


Thank you for your help.

Reply via email to