0

Can any one please tell me the how to configure the HTTP2 on Apache Tomcat Server.

2 Answers 2

4

here is a developer installation guide I wrote to the tomcat mailing list some time ago: Link to mailing list post

  1. Download XCode from the AppStore
  2. Install Brew: http://brew.sh/
  3. Download Apache Tomcat binaries > 8.5 http://tomcat.apache.org/
  4. Install APR and OPENSSL with “brew install openssl” and “brew install apr”
  5. Create pem files in “apache-tomcat-8.5.15/conf” folder - use “changeit” every time a password is going to be requested (The commands can be executed separately or within a shell script):

    • /usr/local/Cellar/openssl/1.0.2l/bin/openssl genrsa -des3 -out localhost-rsa-key 1024
    • /usr/local/Cellar/openssl/1.0.2l/bin/openssl genrsa -out localhost-key 1024
    • /usr/local/Cellar/openssl/1.0.2l/bin/openssl rsa -in localhost-rsa-key -out localhost-key
    • /usr/local/Cellar/openssl/1.0.2l/bin/openssl req -new -key localhost-key -out localhost-csr
    • /usr/local/Cellar/openssl/1.0.2l/bin/openssl x509 -req -days 365 -in localhost-csr -signkey localhost-key -out localhost-crt
    • cat localhost-key localhost-crt > localhost-rsa-cert.pem
    • cat localhost-rsa-cert.pem > localhost-rsa-chain.pem
    • cat localhost-rsa-key > localhost-rsa-key-mod.pem
    • /usr/local/Cellar/openssl/1.0.2l/bin/openssl rsa -in localhost-rsa-key-mod.pem -out localhost-rsa-key.pem
  6. Uncomment the http/2 connector with protocol “org.apache.coyote.http11.Http11AprProtocol” in the "apache-tomcat-8.5.15/conf/server.xml"

  7. Tomcat native installation
    • Extract “apache-tomcat-8.5.15/bin/tomcat-native.tar.gz”
    • Go into folder “apache-tomcat-8.5.15/bin/tomcat-native-1.2.12-src/native”
    • Run “./configure --with-apr=/usr/local/Cellar/apr/1.5.2_3/ --with-ssl=/usr/local/Cellar/openssl/1.0.2l”
    • Run “make”
  8. Create a setenv.sh file within the /bin folder and add lines:

    • LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Cellar/apr/1.5.2_3/libexec/lib:/Applications/apache-tomcat-8.5.15/bin/tomcat-native-1.2.12-src/native/.libs
    • JAVA_OPTS="-Djava.library.path=/usr/local/Cellar/apr/1.5.2_3/libexec/lib:/Applications/apache-tomcat-8.5.15/bin/tomcat-native-1.2.12-src/native/.libs"
  9. Start Server

Logs:

01-Jun-2017 09:32:46.551 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library [1.2.12] using APR version [1.5.2].
01-Jun-2017 09:32:46.551 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
01-Jun-2017 09:32:46.551 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
01-Jun-2017 09:32:46.556 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.0.2l  25 May 2017]
  • Note: The paths might be adjusted according to the version of openssl / apr / tomcat-native / tomcat version
1

Since you haven't written what you have already tried I suggest you start with Apache's guide. It explains how to compile Apache with the HTTP/2 module (it's still experimental so it isn't on by default) and the configuration process

Not the answer you're looking for? Browse other questions tagged or ask your own question.