[
https://issues.apache.org/jira/browse/STRATOS-676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14047344#comment-14047344
]
Imesh Gunaratne edited comment on STRATOS-676 at 6/30/14 3:44 AM:
------------------------------------------------------------------
Fixed in master branch with commit revision
67a22ab51ef9288629979470648b3b2d7b831bba:
- Added a configuration option to switch Location header rewrite functionality
on and off. This option is now available in loadbalancer.conf,
"rewrite-location-header".
- If applications deployed in the PaaS do not use absolute URLs in Location
headers with member IP addresses, this feature can be turned off.
- If the above configuration option is turned on, load balancer will re-write
Location headers if the incoming Location header URL host is an ip address
(public/private) of a known member. The resulting outgoing Location header will
have the cluster hostname of the corresponding member and the transport proxy
port.
To do this we have introduced a new hash map in load balancer context:
Map<MemberIp, ClusterHostname>. This map will have both private and public ip
addresses of all members.
- In addition we have done a modification in messaging component to trigger
Service Removed, Cluster Removed and Member Terminated event listeners before
removing the relevant objects from the local topology data structure.
was (Author: imesh):
Fixed in master branch with commit revision
67a22ab51ef9288629979470648b3b2d7b831bba:
- Added a configuration option to switch Location header rewrite functionality
on and off. This option is now available in loadbalancer.conf,
"rewrite-location-header".
- If applications deployed in the PaaS do not use absolute URLs in Location
headers with member IP addresses, this feature can be turned off. However AFAIK
carbon servers do this in file upload feature. Therefore we will need to keep
this turned on for Private PaaS.
- If the above configuration option is turned on, load balancer will re-write
Location headers if the incoming Location header URL host is an ip address
(public/private) of a known member. The resulting outgoing Location header will
have the cluster hostname of the corresponding member and the transport proxy
port.
To do this we have introduced a new hash map in load balancer context:
Map<MemberIp, ClusterHostname>. This map will have both private and public ip
addresses of all members.
- In addition we have done a modification in messaging component to trigger
Service Removed, Cluster Removed and Member Terminated event listeners before
removing the relevant objects from the local topology data structure.
> LB shouldn't be re-writing http location header if Location is a hostname
> -------------------------------------------------------------------------
>
> Key: STRATOS-676
> URL: https://issues.apache.org/jira/browse/STRATOS-676
> Project: Stratos
> Issue Type: Bug
> Components: Load Balancer
> Affects Versions: 4.0.0
> Reporter: Nirmal Fernando
> Assignee: Imesh Gunaratne
> Fix For: 4.0.1, 4.1.0
>
>
> After investigating the issue I found out that Stratos LB re-writes Http
> Location Header even if the Location header is a host name. This violates the
> spec and break most of the real world scenarios.
--
This message was sent by Atlassian JIRA
(v6.2#6252)