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)