Tomas Briceno Fernandez created MODCLUSTER-701:
--------------------------------------------------
Summary: Provide end-to-end HTTP/2 proxy connection
Key: MODCLUSTER-701
URL:
https://issues.jboss.org/browse/MODCLUSTER-701
Project: mod_cluster
Issue Type: Bug
Components: Native (httpd modules)
Environment: Apache httpd 2.4
Reporter: Tomas Briceno Fernandez
Assignee: Radoslav Husar
It should be possible to set up end-to-end HTTP/2 connections. Currently this is not
possible in mod_cluster as per JBCS-327.
It is possible to achieve end-to-end HTTP/2 proxy with mod_proxy_balancer with the
following configuration for httpd and JWS Tomcat:
{code:title=httpd.conf|borderStyle=solid}
LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule http2_module modules/mod_http2.so
LoadModule proxy_http2_module modules/mod_proxy_http2.so
LoadModule proxy_http_module modules/mod_proxy_http.so
<VirtualHost _default_:9443>
Protocols h2 h2c
ProtocolsHonorOrder on
ProxyPass "/" "balancer://mycluster"
stickysession=JSESSIONID|jsessionid scolonpathdelim=On
ProxyPassReverse "/" "https://localhost:9443"
<Proxy "balancer://mycluster">
BalancerMember "h2://127.0.0.1:8081" route=node1
BalancerMember "h2://127.0.0.1:8082" route=node2
</Proxy>
ServerName localhost:9443
ServerAdmin you(a)example.com
SSLEngine on
SSLProxyEngine on
SSLProxyCheckPeerName Off
SSLVerifyClient none
SSLProxyVerify none
SSLCertificateFile "/etc/pki/tls/certs/localhost.crt"
SSLCertificateKeyFile "/etc/pki/tls/private/localhost.key"
</VirtualHost>
{code}
{code:title=server.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8007" shutdown="SHUTDOWN"
address="localhost" >
...
<Service name="Catalina">
<Connector
port="8081"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150"
SSLEnabled="true"
connectionTimeout="20000"
sslImplementationName="org.apache.tomcat.util.net.jsse.JSSEImplementation"
keystoreFile="localhost.jks"
keystorePass="changeit"
address="localhost"
<UpgradeProtocol
className="org.apache.coyote.http2.Http2Protocol" />
</Connector>
<Engine name="Catalina" defaultHost="localhost"
jvmRoute="node1">
...
</Engine>
</Service>
</Server>
{code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)