HTTP/2 is a binary multiplexed protocol that speeds up 10-30% of sites with no code changes. Requirements: HTTPS (mandatory), nginx ≥ 1.9.5, Apache ≥ 2.4.17 with mod_http2, OpenSSL ≥ 1.0.2 with ALPN. Enable with one config line. For Cloudflare/CDN it is already on.
Below: step-by-step, working examples, common pitfalls, FAQ.
Free online tool — SSL certificate checker: instant results, no signup.
nginx -V (≥ 1.9.5), openssl version (≥ 1.0.2 for ALPN)listen 443 ssl; with listen 443 ssl http2;a2enmod http2 + add Protocols h2 http/1.1 to vhostnginx -t / apachectl configtestsystemctl reload nginx / systemctl reload apache2curl -I --http2 https://example.com| Scenario | Config / Record |
|---|---|
| nginx minimal | server { listen 443 ssl http2; server_name example.com; ssl_certificate /path/fullchain.pem; ssl_certificate_key /path/privkey.pem; } |
| Apache 2.4.17+ | Protocols h2 http/1.1 (inside <VirtualHost *:443>) |
| Cloudflare | Dashboard → Network → HTTP/2 = ON (default) |
| HTTP/2 Push (deprecated) | Chrome 106+ removed Server Push. Use <code>103 Early Hints</code> instead. |
To enable HTTP/2 in Nginx and Apache, you need to ensure your server supports it and then modify the configuration files. For Nginx, use the directive http2 in your server block. For Apache, enable the mod_http2 module and add Protocols h2 http/1.1 to your VirtualHost. Don't forget to ensure you are using SSL, as HTTP/2 requires HTTPS.
To enable HTTP/2 in Nginx, follow these steps:
nginx -v/etc/nginx/nginx.conf or within the /etc/nginx/sites-available/ directory for site-specific configurations. In the server block where you have SSL enabled, modify the listen directive to include http2:server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/privatekey.key;
location / {
# Your location settings
}
}nginx -tsystemctl restart nginxcurl -I -s --http2 https://example.com | grep HTTP/2If you see HTTP/2 200, HTTP/2 is successfully enabled.
To enable HTTP/2 in Apache, follow these detailed steps:
apache2 -vmod_http2 module is enabled. You can enable it using the following command:a2enmod http2/etc/httpd/conf/httpd.conf or /etc/apache2/sites-available/ for site-specific configurations). Add the following lines to your VirtualHost section that uses SSL:<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /path/to/certificate.crt
SSLCertificateKeyFile /path/to/privatekey.key
Protocols h2 http/1.1
</VirtualHost>apachectl configtestsystemctl restart apache2curl -I -s --http2 https://example.com | grep HTTP/2Seeing HTTP/2 200 confirms that HTTP/2 is enabled on your Apache server.
SSL/TLS is the encryption protocol that protects data between the browser and server. Our tool analyzes the certificate, chain of trust, TLS version, and knownvulnerabilities.
Issuer, validity period, signature algorithm, covered domains (SAN), and validation type (DV/OV/EV).
Full chain verification: from leaf certificate through intermediates to root CA.
Protocol version (TLS 1.2/1.3), cipher suites, Perfect Forward Secrecy (PFS) support.
Set up a monitor — get Telegram and email alerts 30/14/7 days before expiration.
SSL certificate monitoring
TLS config audit
HTTPS as ranking factor
customer trust
www and subdomains.Strict-Transport-Security header forces browsers to always use HTTPS.SSL certificate monitoring, check history and alerts 30 days before expiry.
Sign up freeNo. On sites with a single large JS bundle the difference is tiny. On sites with many resources (CSS + many images + fonts) HTTP/2 yields a 10-30% gain from multiplexing.
No. HTTP/2 is a transport change, the API is identical. Just drop legacy optimisations (domain sharding, inline critical CSS blocks) — they hurt HTTP/2.
Yes, with nginx 1.25 (March 2023) stable. Or via Cloudflare automatically. Biggest gains on mobile networks. See our <a href="/en/s/research-http3-quic-adoption-2026">HTTP/3 adoption research</a>.
<a href="/en/ssl">Enterno SSL Checker</a> or <code>curl -I --http2 https://site.com</code> — the response must include <code>HTTP/2 200</code>.
Free plan — 10 monitors, checks every 5 min, no card required. Upgrade for 1-minute interval and multi-region monitoring.