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:jfcl...@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 <j...@jagunet.com> wrote: > >> > >>> On Mar 2, 2017, at 5:58 AM, jean-frederic clere <jfcl...@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! > >> > > > > > >