You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@knox.apache.org by "Sandeep More (JIRA)" <ji...@apache.org> on 2019/05/18 13:03:00 UTC

[jira] [Resolved] (KNOX-1858) For a configured list of services fix X-Forwarded-Context header to add service name

     [ https://issues.apache.org/jira/browse/KNOX-1858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sandeep More resolved KNOX-1858.
--------------------------------
    Resolution: Fixed

> For a configured list of services fix X-Forwarded-Context header to add service name 
> -------------------------------------------------------------------------------------
>
>                 Key: KNOX-1858
>                 URL: https://issues.apache.org/jira/browse/KNOX-1858
>             Project: Apache Knox
>          Issue Type: Bug
>          Components: Server
>            Reporter: Sandeep More
>            Assignee: Sandeep More
>            Priority: Major
>             Fix For: 1.3.0
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
>  *X-Forward-Context* header for Knox does not behave as it should, it should be */\{gateway}/\{topology}/\{serviceName}* but currently it is */\{gateway}/\{topology}.*
> This will create issues where the proxied applications have no way of knowing the true context (they should not care and mostly they do not, but there are exceptions).
> The problem in fixing this the right way is that we might end up breaking existing applications they rely on this behavior.
> It has been suggested we introduce a config property (gateway.header.x-forward-context.append.servicename) in gateway-site.xml that  will take a list of service names and if the property is defined and list not empty for those services Knox will correct the *X-Forward-Context* header. 
> Proposed config snippet in gateway-site.xml
> {code:java}
>     <property>
>         <name>gateway.xforwarded.header.context.append.servicename</name>
>         <value>LIVYSERVER</value>
>     </property>
> {code}
> Also, in case where a service uses multiple contexts i.e. "livy/v1", this can be configured via topology service param, i.e.
> {code:java}
>    <service>
>         <role>LIVYSERVER</role>
>         <url>http://localhost:8090</url>
>         <param>
>             <name>serviceContext</name>
>             <value>livy/v1</value>
>         </param>
>     </service>{code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)