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

Sudheer Vinukonda updated TS-2650:
----------------------------------

    Attachment: ts2650.diff

fixed the path of the patch files

> Redirect handling enhancements in ATS
> -------------------------------------
>
>                 Key: TS-2650
>                 URL: https://issues.apache.org/jira/browse/TS-2650
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Sudheer Vinukonda
>            Assignee: Bryan Call
>              Labels: review, yahoo
>             Fix For: 5.0.0
>
>         Attachments: ts2650.diff, ts2650.diff, ts2650.diff, ts2650.diff, 
> ts2650.diff
>
>
> This Jira attempts to enhance/fix multiple issues found with ATS's support 
> for redirect follow. Below is a summary of issues:
> 1. Support relative path in the location header in the 301/302/303 response. 
> Description: Currently, if ATS receives a relative url path (with either the 
> host or the scheme missing) in the location header in the 302 redirect 
> request, it returns a "400 Host Header Required" error. This enhancement is 
> to try the redirection with the current origin connection's host/scheme when 
> that happens.
> 2. Strip off default ports from Host header during redirect follow. 
> Description: ATS includes port in the host header as host:port during 
> redirect follow. It has been observed that some origins choke (and return 4xx 
> error) when the default port (80/http, 443/https) is included within the host 
> header. This enhancement is to strip off the default port (80/http, 
> 443/https) from the host header during redirect follow. This behavior is 
> controlled via a configuration parameter 
> "proxy.config.http.redirect_host_no_port". When enabled, ATS will strip off 
> the default port from the host header during redirect follow. Note that the 
> default setting for proxy.config.http.redirect_host_no_port is disabled, 
> which means, ATS will continue to include the port in the host header. 
> 3. Force DNS lookup during redirect follow
> Description: It has been observed that, ATS doesn't perform a DNS lookup 
> during redirect follow. This may work when the host is unchanged during 
> redirect follow, but, will fail if the host is changed. This fix forces dns 
> lookup (either by way of hostdb lookup or an altogether new dns lookup) 
> during redirect follow
> 4. Handle null path correctly during redirect follow
> Description: It has been observed that, if a subsequent redirect follow 
> includes null path (e.g. /), ATS incorrectly uses the path received during a 
> previous redirect request. This fix resets the path during each redirect to 
> ensure that the path is correctly set to the newly received value.
> 5. Cache not working during redirect 
> Description: It has been observed that ATS is not writing to cache the final 
> response at the end of a successful 3xx redirect follow. This fix is to force 
> ATS write to cache a valid non-3xx response received at the end of a redirect 
> follow.
> 6. Support 303 status code to trigger redirect follow
> Description: Currently, ATS supports only 301/302 based redirect follow. This 
> enhancement is to also handle 303 based redirect follow. Note that, in terms 
> of the response and redirect follow handling, 303 handling is identical to 
> 301/302, except for the status code.
> 7. SEND_RESPONSE_HDR_HOOK plugin breaks redirect follow:
> Description: Currently, when a plugin enables SEND_RESPONSE_HDR_HOOK, ATS has 
> a bug that breaks redirect handling. This fix is to allow redirect handling 
> to be completed (unto the configured max number of attempts) before invoking 
> the plugin with SEND_RESPONSE_HDR_HOOK.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to