httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jean-frederic clere <jfcl...@gmail.com>
Subject Re: svn commit: r1674661 - in /httpd/httpd/branches/2.4.x: ./ CHANGES STATUS modules/proxy/mod_proxy_wstunnel.c
Date Wed, 19 Apr 2017 08:41:30 GMT
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 <jim@jagunet.com> wrote:
>>
>>> On Mar 2, 2017, at 5:58 AM, jean-frederic clere <jfclere@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!
>>
> 
> 
> 


Mime
View raw message