How to enable ALPN with http2 for nginx on Centos 7 cPnginx Server

What Is ALPN?

ALPN, or Application-Layer Protocol Negotiation, is a TLS extension that includes the protocol negotiation within the exchange of hello messages. ALPN is able to negotiate which protocol should be handled over a secure connection in a way that is more efficient and avoids additional round trips. The ever-growing in popularity HTTP/2 protocol, makes use of ALPN to further decrease website load times and encrypt connections faster.

Why it is not supported in Centos 7?

The centos 7 is not using the latest openssl package . This the reason behind failing ALPN support with nginx in Centos 7.

Do I need ALPN with HTTP2 ?

The ALPN enabled nginx is more faster than normal http2. So it is better to enable ALPN in your server .

Steps To Enable ALPN with nginx on Centos 7

Please make sure that you are running the latest version of cpnginx software . You need to download the latest openssl packages from https://www.openssl.org/ as follows

cd /usr/local/src/
wget https://www.openssl.org/source/openssl-1.0.2j.tar.gz
tar -xzf openssl-1.0.2j.tar.gz 
mkdir -pv /opt/cpnginx/openssl
cp -vrf openssl-1.0.2j/* /opt/cpnginx/openssl/

Now make a custom nginx build configure as follows,

cp -vf /etc/cpnginx/build/configure.sh /etc/cpnginx/build/custom/	

Now edit the file /etc/cpnginx/build/custom/configure.sh and add the options –with-openssl=/opt/cpnginx/openssl

#!/bin/bash
./configure --prefix=/usr/local/nginx 
        --with-http_ssl_module 
        --with-http_ssl_module 
        --with-http_v2_module 
        --with-http_realip_module 
        --with-http_flv_module 
        --with-http_mp4_module 
        --with-ipv6 
        --with-openssl=/opt/cpnginx/openssl 
        --with-http_stub_status_module 

Now build the nginx software

# nginxctl build nginx --version 1.10.2

Thats it . You have now cpnginx with full ALPN support with http2.

How to test it ?

You can check it from https://tools.keycdn.com/http2-test

Test to see if you browser is getting http2 support . You need to open your https websites on Chrome browser and do an inspect by right clicking your mouse. Now you see as “h2” in protocol section . Please see a sample screen short below,

Subscribe Now

10,000 successful online businessmen like to have our content directly delivered to their inbox. Subscribe to our newsletter!

Archive Calendar

Sat Sun Mon Tue Wed Thu Fri
 1234
567891011
12131415161718
19202122232425
262728293031  

Over 20000 Satisfied Customers!

From 24/7 support that acts as your extended team to incredibly fast website performance

Zelt staff were fantastic, I had a concern with a domain and they got back to me very quickly and they helped me to resolve the issue!

author
Technician, Diageo PLC

I'm using Zelt for my portfolio since 2006. The transition was seamless, the support was immediate, and everything works perfectly.

author
Photographer, Allister Freeman

Very easy to understand & use even though I am not very technologically minded. No complications whatsoever & I wouldn't hesitate to recommend it to all.

author
Actor, A&J Artists

Zelt support team have been amazingly responsive and helpful to any of my queries, thank you so much to the Zelt have been amazingly responsive and helpful to any of my queries 👍👍👍

author
Technician, Diageo PLC

Anytime I've had a problem I can't solve, I've found Zelt to be diligent and persistent. They simply won't let an issue go until the client is happy.

author
Doctor, SmartClinics

Zelt support team have been amazingly responsive and helpful to any of my queries, thank you so much to the Zelt have been amazingly responsive and helpful to any of my queries 👍👍👍

author
Freelancer, Fiverr

24/7 World-Class Support

Ran into trouble? Contact our Customer Success team any time via live chat or email.

  • Receive professional WordPress support
  • Our specialists are available round
Get Support