HTTP2 Configuration

From Lingoport Wiki
Jump to: navigation, search

HTTP/2 enablement can be achieved via a reverse proxy hosted on the Linux system. The below instructions assume that the prior configuration instructions for HTTPS have already been carried out. These instructions will add HTTP2 support to that existing configuration. It is assumed that this will be on Apache in a CentOS / RHEL environment:

1. Edit the Apache SSL Configuration file, and example is shown below

vi /etc/httpd/conf.d/lingoport-apps-ssl.conf

2. Locate the section that the VirtualHost Directive is defined for SSL and add the six lines from <IfModule> to </IFModule> inclusive as shown below. This searches for the http2_module and it if exists will attempt to use HTTP2. If that fails for some reason it will fallback to HTTP1.1. If the http2_module doesn't exist, it will only attempt to use HTTP/1.1

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName SERVER_URL_REPLACE_ME   # example: myserver.lingoport.io

    <IfModule http2_module>
        Protocols h2 http/1.1
    </IfModule>
    <IfModule !http2_module>
        Protocols http/1.1
    </IfModule>
    
    AllowEncodedSlashes NoDecode
    ProxyPreserveHost On
    ProxyRequests Off

    ...
</VirtualHost>
</IfModule>

3. Restart Apache to apply the settings

sudo systemctl restart httpd

4 Validation

One method to confirm that http2 is supported after restarting Apache is via curl. Simply run a curl command on the command-center site and the returned result will be the version of HTTP supported. A 2 indicates that that HTTP/2 is supported and the configuration was successful. If the return was a 1.1, then only version HTTP/1.1 support is provided.

$ curl -sI https://<FQDN>/command-center -o/dev/null -w '%{http_version}\n'
2


To continue on Command Center installation, please go to: