[
https://issues.apache.org/jira/browse/FELIX-5309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15430666#comment-15430666
]
Carsten Ziegeler commented on FELIX-5309:
-----------------------------------------
FELIX-4420 originally was implemented by overwriting setHeader, it seems that
has changed to overwrite both setHeader and sendRedirect.
I think it still makes sense to overwrite both and apply the same logic. If
setHeader is called with a relative path, its better to make it absolute using
the correct protocol.
Now I agree that if sendRedirect or setHeader is called with an absolute path,
no rewriting should happen. I don't know why the rewriting is done
nevertheless. I assume, it's because of the initial version relying on
sendRedirect calling setHeader
> SslFilter: sendRedirect does not support deliberate protocol changes on the
> current host
> ----------------------------------------------------------------------------------------
>
> Key: FELIX-5309
> URL: https://issues.apache.org/jira/browse/FELIX-5309
> Project: Felix
> Issue Type: Bug
> Components: HTTP Service
> Affects Versions: http.sslfilter-1.0.6
> Reporter: Konrad Windszus
>
> Consider the case where application A and B are running under the same domain
> example.com. A is served by an Apache Felix (below https://example.com/A) and
> only supports HTTPS (being terminated e.g. by a LoadBalancer in front). B is
> served by some other application server (below https://example.com/B) and
> only supports HTTP.
> Now I create a link from A towards B with
> {{HttpServletResponse.sendRedirect("http://example.com/B/somepath")}}.
> This URL is automatically converted by the SslFilter to
> {{https://example.com/B/somepath}} which is clearly not intended.
> I think the sendRedirect(...) implementation of the SSLFilter from FELIX-4420
> is way too aggressive, because it will also rewrite absolute URIs already
> containing a scheme.
> Actually absolute URIs should never been rewritten by that filter, only
> relative ones (starting with a "/").
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)