You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by jean-frederic clere <jf...@gmail.com> on 2017/04/19 08:41:30 UTC
Re: svn commit: r1674661 - in /httpd/httpd/branches/2.4.x: ./ CHANGES
STATUS modules/proxy/mod_proxy_wstunnel.c
On 03/02/2017 12:50 PM, Eric Covener wrote:
> Curious about the headers in the bug report / recreate.
I have looked to the problem again I have 2 JIRA related to the commit:
https://issues.jboss.org/browse/JBCS-254
https://issues.jboss.org/browse/JBCS-291
Basically people using mod_proxy_wstunnel with jboss-remoting and
HTTP/1.1 + upgrade WebSocket.
For the jboss-remoting: (httpd to server)
GET / HTTP/1.1
Host: localhost:8080
Sec-JbossRemoting-Key: NGELpfuU01no5ZPM9705Fg==
X-Forwarded-For: 127.0.0.1
X-Forwarded-Host: localhost:8282
X-Forwarded-Server: fe80::56ee:75ff:fe1d:45fb
Upgrade: jboss-remoting
Connection: Upgrade
HTTP/1.1 101 Switching Protocols
Connection: Upgrade
Upgrade: jboss-remoting
Sec-JbossRemoting-Accept: QR2l+ma75tZ4T1yrrJ/wxNwDPwg=
Date: Wed, 19 Apr 2017 08:01:18 GMT
client to proxy:
GET / HTTP/1.1
Sec-JbossRemoting-Key: NGELpfuU01no5ZPM9705Fg==
Upgrade: jboss-remoting
Host: localhost:8282
Connection: upgrade
HTTP/1.1 101 Switching Protocols
Connection: Upgrade
Upgrade: jboss-remoting
Sec-JbossRemoting-Accept: QR2l+ma75tZ4T1yrrJ/wxNwDPwg=
Date: Wed, 19 Apr 2017 08:01:18 GMT
.......
The HTTP/1.1 + upgrade: (basically it get the websocket app using
HTTP/1.1 and then)
GET /jboss-websocket-hello/websocket/helloName HTTP/1.1
Host: localhost:8000
User-Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:52.0)
Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.7,ca;q=0.3
Accept-Encoding: gzip, deflate
Sec-WebSocket-Version: 13
Origin: http://localhost:8000
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: IPPsC2JbqOS1QfWepOVnvQ==
Connection: keep-alive, Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket
HTTP/1.1 101
Upgrade: websocket
Connection: upgrade
Sec-WebSocket-Accept: PVBn1cxiXtjKaAeECRlpKv6lOaA=
Sec-WebSocket-Extensions: permessage-deflate
Date: Wed, 19 Apr 2017 08:17:36 GMT
So I need 2 things:
1 - Upgrade to jboss-remoting.
2 - Proxy without the upgrade header.
To try something I have used:
flusher=jboss-remoting (basically does the tunnel for another protocol)
flusher=NONE (basically bypass the checks added by r1674661).
I don't think mod_proxy_fdpass will be used with mod_proxy_wstunnel and
flusher looks like scheme for the size.
Any better suggestion before I commit the patch?
Cheers
Jean-Frederic
>
> On Thu, Mar 2, 2017 at 6:31 AM, Jim Jagielski <ji...@jagunet.com> wrote:
>>
>>> On Mar 2, 2017, at 5:58 AM, jean-frederic clere <jf...@gmail.com> wrote:
>>>
>>>>
>>>> + upgrade = apr_table_get(r->headers_in, "Upgrade");
>>>> + if (!upgrade || strcasecmp(upgrade, "WebSocket") != 0) {
>>>> + ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(02900)
>>>> + "declining URL %s (not WebSocket)", url);
>>>> + return DECLINED;
>>>
>>> In fact this causing regression for some customer, could we make that
>>> switch able? See https://issues.jboss.org/browse/JBCS-291
>>>
>>
>> Sure!
>>
>
>
>
AW: svn commit: r1674661 - in /httpd/httpd/branches/2.4.x: ./
CHANGES STATUS modules/proxy/mod_proxy_wstunnel.c
Posted by Plüm,
Rüdiger,
Vodafone Group <ru...@vodafone.com>.
I guess the patch is fine with one exception: Please do not "recycle" a configuration option
setup explicitly for another module (flusher for mod_proxy_fdpass) for your patch. This only creates
confusion. Please create a new one and document it.
Regards
Rüdiger
> -----Ursprüngliche Nachricht-----
> Von: jean-frederic clere [mailto:jfclere@gmail.com]
> Gesendet: Mittwoch, 19. April 2017 10:42
> An: dev@httpd.apache.org
> Betreff: Re: svn commit: r1674661 - in /httpd/httpd/branches/2.4.x: ./
> CHANGES STATUS modules/proxy/mod_proxy_wstunnel.c
>
> On 03/02/2017 12:50 PM, Eric Covener wrote:
> > Curious about the headers in the bug report / recreate.
>
> I have looked to the problem again I have 2 JIRA related to the commit:
> https://issues.jboss.org/browse/JBCS-254
> https://issues.jboss.org/browse/JBCS-291
>
> Basically people using mod_proxy_wstunnel with jboss-remoting and
> HTTP/1.1 + upgrade WebSocket.
>
> For the jboss-remoting: (httpd to server)
> GET / HTTP/1.1
>
> Host: localhost:8080
>
> Sec-JbossRemoting-Key: NGELpfuU01no5ZPM9705Fg==
>
> X-Forwarded-For: 127.0.0.1
>
> X-Forwarded-Host: localhost:8282
>
> X-Forwarded-Server: fe80::56ee:75ff:fe1d:45fb
>
> Upgrade: jboss-remoting
>
> Connection: Upgrade
>
>
>
> HTTP/1.1 101 Switching Protocols
>
> Connection: Upgrade
>
> Upgrade: jboss-remoting
>
> Sec-JbossRemoting-Accept: QR2l+ma75tZ4T1yrrJ/wxNwDPwg=
>
> Date: Wed, 19 Apr 2017 08:01:18 GMT
>
>
> client to proxy:
> GET / HTTP/1.1
>
> Sec-JbossRemoting-Key: NGELpfuU01no5ZPM9705Fg==
>
> Upgrade: jboss-remoting
>
> Host: localhost:8282
>
> Connection: upgrade
>
>
>
> HTTP/1.1 101 Switching Protocols
>
> Connection: Upgrade
>
> Upgrade: jboss-remoting
>
> Sec-JbossRemoting-Accept: QR2l+ma75tZ4T1yrrJ/wxNwDPwg=
>
> Date: Wed, 19 Apr 2017 08:01:18 GMT
>
>
>
> .......
>
>
> The HTTP/1.1 + upgrade: (basically it get the websocket app using
> HTTP/1.1 and then)
> GET /jboss-websocket-hello/websocket/helloName HTTP/1.1
>
> Host: localhost:8000
>
> User-Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:52.0)
> Gecko/20100101 Firefox/52.0
>
> Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
>
> Accept-Language: en-US,en;q=0.7,ca;q=0.3
>
> Accept-Encoding: gzip, deflate
>
> Sec-WebSocket-Version: 13
>
> Origin: http://localhost:8000
>
> Sec-WebSocket-Extensions: permessage-deflate
>
> Sec-WebSocket-Key: IPPsC2JbqOS1QfWepOVnvQ==
>
> Connection: keep-alive, Upgrade
>
> Pragma: no-cache
>
> Cache-Control: no-cache
>
> Upgrade: websocket
>
>
>
> HTTP/1.1 101
>
> Upgrade: websocket
>
> Connection: upgrade
>
> Sec-WebSocket-Accept: PVBn1cxiXtjKaAeECRlpKv6lOaA=
>
> Sec-WebSocket-Extensions: permessage-deflate
>
> Date: Wed, 19 Apr 2017 08:17:36 GMT
>
>
> So I need 2 things:
> 1 - Upgrade to jboss-remoting.
> 2 - Proxy without the upgrade header.
>
> To try something I have used:
> flusher=jboss-remoting (basically does the tunnel for another protocol)
> flusher=NONE (basically bypass the checks added by r1674661).
>
> I don't think mod_proxy_fdpass will be used with mod_proxy_wstunnel and
> flusher looks like scheme for the size.
>
> Any better suggestion before I commit the patch?
>
> Cheers
>
> Jean-Frederic
>
> >
> > On Thu, Mar 2, 2017 at 6:31 AM, Jim Jagielski <ji...@jagunet.com> wrote:
> >>
> >>> On Mar 2, 2017, at 5:58 AM, jean-frederic clere <jf...@gmail.com>
> wrote:
> >>>
> >>>>
> >>>> + upgrade = apr_table_get(r->headers_in, "Upgrade");
> >>>> + if (!upgrade || strcasecmp(upgrade, "WebSocket") != 0) {
> >>>> + ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,
> APLOGNO(02900)
> >>>> + "declining URL %s (not WebSocket)", url);
> >>>> + return DECLINED;
> >>>
> >>> In fact this causing regression for some customer, could we make
> that
> >>> switch able? See https://issues.jboss.org/browse/JBCS-291
> >>>
> >>
> >> Sure!
> >>
> >
> >
> >
Re: svn commit: r1674661 - in /httpd/httpd/branches/2.4.x: ./ CHANGES
STATUS modules/proxy/mod_proxy_wstunnel.c
Posted by Eric Covener <co...@gmail.com>.
On Wed, Apr 19, 2017 at 4:41 AM, jean-frederic clere <jf...@gmail.com> wrote:
> So I need 2 things:
> 1 - Upgrade to jboss-remoting.
> 2 - Proxy without the upgrade header.
Okay, I don't think we had any way to know the module was being used
for either of these things. A new directive will also give us a
place to describe the alternate usage.
--
Eric Covener
covener@gmail.com