[JBoss JIRA] (MODCLUSTER-723) 302 redirect not being forwarded when websockets are enabled
by Florian Morgan (Jira)
[ https://issues.redhat.com/browse/MODCLUSTER-723?page=com.atlassian.jira.p... ]
Florian Morgan edited comment on MODCLUSTER-723 at 9/17/20 4:47 AM:
--------------------------------------------------------------------
For the record, I've opened a case in [https://access.redhat.com/support] regarding this topic. Luckily I have access to this support.
So far we have:
Used a RewriteRule redirect to overcome the redirect issue (I previously tried with a simple not-Rewrite "Redirect" rule without success). It works but there are other problems now:
* Redirects using TLS (HTTPS) don't work perfectly, we have to dig into this, this has not been investigated so far.
* There are stability issues, it _seems_ that mod_cluster handles some of the HTTP non-WS request as WS requests, and that triggers random HTTP 500 issues. This is being investigated at the moment.
The rewrite rule we are using is the following:
{{RewriteEngine On}}
{{RewriteRule ^/arche$ /arche/ [R,L]}}
was (Author: f.morgan):
For the record, I've opened a case in [https://access.redhat.com/support] regarding this topic. Luckily I have access to this support.
So far we have:
Used a RewriteRule redirect to overcome the redirect issue (I previously tried with a simple not-Rewrite "Redirect" rule without success). It works but there are other problems now:
* Redirects using TLS (HTTPS) don't work perfectly, we have to dig into this, this has not been investigated so far.
* There are stability issues, it _seems_ that mod_cluster handles some of the HTTP non-WS request as WS requests, and that triggers random HTTP 500 issues. This is being investigated at the moment.
> 302 redirect not being forwarded when websockets are enabled
> ------------------------------------------------------------
>
> Key: MODCLUSTER-723
> URL: https://issues.redhat.com/browse/MODCLUSTER-723
> Project: mod_cluster
> Issue Type: Bug
> Components: Native (httpd modules)
> Affects Versions: 1.3.14.Final
> Reporter: Florian Morgan
> Assignee: Radoslav Husar
> Priority: Major
>
> I'm having an issue with mod_cluster with JBoss EWS and JBoss EAP.
> I have a JBoss EAP 7.1.6 server configured with JBoss EWS as a reverse proxy with mod_cluster.
> Normally everything works fine, I have no issue with this configuration.
>
> When I add *WSUpgradeHeader NONE* I have a weird behaviour of EWS regarding the forwarding of HTTP redirects.
>
> The normal behaviour is the following:
> # The client submit a request to this URL: [http://ews-host:8080/arche]
> # EWS forwards the request to JBoss EAP
> # EAP replies with a 302 redirect to [http://ews-host:8080/arche/|http://ews-host:8080/arche] (see the added */* at the end of the request)
> # EWS forwards the 302 redirect to the client.
> # The client follows the redirect to [http://ews-host:8080/arche/|http://ews-host:8080/arche]
> # ... [The rest is fine and not significant to my problem]
> When I add *WSUpgradeHeader NONE* the EWS no longer forwards the 302 redirect from the EAP to the client, instead the redirect is *followed* by EWS to EAP and the redirected content is forwarded to the client:
> # The client submit a request to this URL: [http://ews-host:8080/arche]
> # EWS forwards the request to JBoss EAP
> # EAP replies with a 302 redirect to [http://ews-host:8080/arche/|http://ews-host:8080/arche] (see the added */* at the end of the request)
> # *(*) EWS follows the redirect and issue a request to JBoss EAP to [http://ews-host:8080/arche/|http://ews-host:8080/arche]*
> # *EAP replies with the content from /arche/*
> # *EWS replies the redirected content (from 5.) to the client.*
> (*) : I have no proof that EWS actually performs this request, maybe it comes from a cache. But I do this hypthesis to simplify the problem.
> I highlighted the changes in bold.
> The problem here is that the URL stays [http://ews-host:8080/arche] instead of being [http://ews-host:8080/arche/|http://ews-host:8080/arche].
> It breaks all relative URLs from web pages.
>
> Curiously, when the client issue 2 consecutive request, the first one follows the incorrect behaviour, but the second one behaves normally.
> It seems that EWS "remembers" the client host/ip and changes it behaviour to the correct behaviour when it sees it again.
> If I wait enough time, the incorrect behaviour is seen again.
> Finally when I issue the requests from the same host (client=ews-host), the incorrect behaviour is always seen. In that case EWS never forwards the redirect correctly.
> I tried to work around using a *Redirect "/arche" "/arche/"* configuration, but it doesn't change anything.
> I can provide cURL commands to reproduce the problem if needed.
> Do you know how can I have the correct behavour every time?
> Thanks for the help.
> PS : It seems to be linked to this issue https://issues.redhat.com/browse/MODCLUSTER-722 but the case is not identical. Maybe the cause of the problem is the same.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 3 months
[JBoss JIRA] (MODCLUSTER-723) 302 redirect not being forwarded when websockets are enabled
by Florian Morgan (Jira)
[ https://issues.redhat.com/browse/MODCLUSTER-723?page=com.atlassian.jira.p... ]
Florian Morgan commented on MODCLUSTER-723:
-------------------------------------------
For the record, I've opened a case in [https://access.redhat.com/support] regarding this topic. Luckily I have access to this support.
So far we have:
Used a RewriteRule redirect to overcome the redirect issue (I previously tried with a simple not-Rewrite "Redirect" rule without success). It works but there are other problems now:
* Redirects using TLS (HTTPS) don't work perfectly, we have to dig into this, this has not been investigated so far.
* There are stability issues, it _seems_ that mod_cluster handles some of the HTTP non-WS request as WS requests, and that triggers random HTTP 500 issues. This is being investigated at the moment.
> 302 redirect not being forwarded when websockets are enabled
> ------------------------------------------------------------
>
> Key: MODCLUSTER-723
> URL: https://issues.redhat.com/browse/MODCLUSTER-723
> Project: mod_cluster
> Issue Type: Bug
> Components: Native (httpd modules)
> Affects Versions: 1.3.14.Final
> Reporter: Florian Morgan
> Assignee: Radoslav Husar
> Priority: Major
>
> I'm having an issue with mod_cluster with JBoss EWS and JBoss EAP.
> I have a JBoss EAP 7.1.6 server configured with JBoss EWS as a reverse proxy with mod_cluster.
> Normally everything works fine, I have no issue with this configuration.
>
> When I add *WSUpgradeHeader NONE* I have a weird behaviour of EWS regarding the forwarding of HTTP redirects.
>
> The normal behaviour is the following:
> # The client submit a request to this URL: [http://ews-host:8080/arche]
> # EWS forwards the request to JBoss EAP
> # EAP replies with a 302 redirect to [http://ews-host:8080/arche/|http://ews-host:8080/arche] (see the added */* at the end of the request)
> # EWS forwards the 302 redirect to the client.
> # The client follows the redirect to [http://ews-host:8080/arche/|http://ews-host:8080/arche]
> # ... [The rest is fine and not significant to my problem]
> When I add *WSUpgradeHeader NONE* the EWS no longer forwards the 302 redirect from the EAP to the client, instead the redirect is *followed* by EWS to EAP and the redirected content is forwarded to the client:
> # The client submit a request to this URL: [http://ews-host:8080/arche]
> # EWS forwards the request to JBoss EAP
> # EAP replies with a 302 redirect to [http://ews-host:8080/arche/|http://ews-host:8080/arche] (see the added */* at the end of the request)
> # *(*) EWS follows the redirect and issue a request to JBoss EAP to [http://ews-host:8080/arche/|http://ews-host:8080/arche]*
> # *EAP replies with the content from /arche/*
> # *EWS replies the redirected content (from 5.) to the client.*
> (*) : I have no proof that EWS actually performs this request, maybe it comes from a cache. But I do this hypthesis to simplify the problem.
> I highlighted the changes in bold.
> The problem here is that the URL stays [http://ews-host:8080/arche] instead of being [http://ews-host:8080/arche/|http://ews-host:8080/arche].
> It breaks all relative URLs from web pages.
>
> Curiously, when the client issue 2 consecutive request, the first one follows the incorrect behaviour, but the second one behaves normally.
> It seems that EWS "remembers" the client host/ip and changes it behaviour to the correct behaviour when it sees it again.
> If I wait enough time, the incorrect behaviour is seen again.
> Finally when I issue the requests from the same host (client=ews-host), the incorrect behaviour is always seen. In that case EWS never forwards the redirect correctly.
> I tried to work around using a *Redirect "/arche" "/arche/"* configuration, but it doesn't change anything.
> I can provide cURL commands to reproduce the problem if needed.
> Do you know how can I have the correct behavour every time?
> Thanks for the help.
> PS : It seems to be linked to this issue https://issues.redhat.com/browse/MODCLUSTER-722 but the case is not identical. Maybe the cause of the problem is the same.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 3 months