Bug 1556761

Summary: mod_proxy_wstunnel config needs the default port number
Product: Red Hat Enterprise Linux 7 Reporter: Hisanobu Okuda <hokuda>
Component: httpdAssignee: Luboš Uhliarik <luhliari>
Status: CLOSED ERRATA QA Contact: Jan Houska <jhouska>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.3CC: bnater, jorton, luhliari, toneata
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: httpd-2.4.6-85.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2074492 (view as bug list) Environment:
Last Closed: 2018-10-30 11:19:05 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1549616, 2074492    

Description Hisanobu Okuda 2018-03-15 08:39:39 UTC
Description of problem:


Not work:
        BalancerMember  ws://127.0.0.1 ping=1 connectiontimeout=3 route=1

Does work:
        BalancerMember  ws://127.0.0.1:80 ping=1 connectiontimeout=3 route=1


Version-Release number of selected component (if applicable):

    httpd-2.4.6-80.el7.x86_64

How reproducible:


Steps to Reproduce:
1. install httpd and tomcat8
2. configure tomcat to use the port 80
 # vim /etc/tomcat/server.xml
 72     <Connector port="80" protocol="HTTP/1.1" address="0.0.0.0"
 73                connectionTimeout="20000"
 74     />

3. run tomcat as root

 # /usr/lib/jvm/jre/bin/java -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.m
anagement.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=true -Dcom.sun.management.jmxremote.registry.ssl=true -Djavax.
net.ssl.keyStorePassword=password -Djavax.net.ssl.keyStore=/etc/tomcat/keystore -classpath /usr/share/tomcat/bin/bootstrap.jar:/usr/shar
e/tomcat/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat -Dcatalina.home=/usr/share/tomcat -Dja
va.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat/temp -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Dja
va.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start

4. configure httpd to use the port 81

Listen 81

5. copy the following proxy.conf to /etc/httpd/conf.d

LogLevel trace8

ProxyPass               /examples/websocket/     balancer://clusterwss/examples/websocket/
ProxyPassReverse        /examples/websocket/     balancer://clusterwss/examples/websocket/
ProxyPass               /       balancer://cluster/
ProxyPassReverse        /       balancer://cluster/

<Proxy balancer://cluster>
        BalancerMember  http://127.0.0.1 ping=1 connectiontimeout=3 route=1
</Proxy>
<Proxy balancer://clusterwss>
        BalancerMember  ws://127.0.0.1 ping=1 connectiontimeout=3 route=1
</Proxy>

6. start httpd

7. access http://localhost:81/examples/websocket/echo.xhtml

8. click programmatic API and the connect button

9. You will get the following error message:

[Thu Mar 15 17:10:22.796580 2018] [proxy:error] [pid 30466] (111)Connection refused: AH00957: WS: attempt to connect to 127.0.0.1:0 (127
.0.0.1) failed

10. change the proxy.conf which is created in the step 5 as follows(add :80)

<Proxy balancer://clusterwss>
        BalancerMember  ws://127.0.0.1:80 ping=1 connectiontimeout=3 route=1
</Proxy>

11. restart httpd

7. access http://localhost:81/examples/websocket/echo.xhtml

8. click programmatic API and the connect button, then you will see the websocket connection is establishded.

Actual results:


Expected results:


Additional info:

Comment 1 Oneata Mircea Teodor 2018-03-15 10:13:40 UTC
This is an illegal clone as is forbidden to create BZ z stream directly. Zstream fixes are cloned from Y stream BZ.
Please check the documentation.
https://mojo.redhat.com/docs/DOC-1021938#jive_content_id_Executive_Summary

Comment 10 errata-xmlrpc 2018-10-30 11:19:05 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:3211