How can you configure Nginx to handle HTTP/2 server push? nginx

How can you configure Nginx to handle HTTP/2 server push?

Nov. 14, 2023

How to configure Nginx for HTTP/2 server push

Nginx is a popular web server that can be configured to handle HTTP/2 server push. HTTP/2 server push allows web servers to proactively send resources to the client before it explicitly requests them, improving website performance and reducing latency.

Step 1: Check Nginx version

Ensure that you have a version of Nginx that supports HTTP/2 server push. HTTP/2 was introduced in Nginx version 1.9.5, so make sure your Nginx installation is up-to-date.

Step 2: Enable HTTP/2

Open your Nginx configuration file, usually located at /etc/nginx/nginx.conf, and add the following line to enable HTTP/2:

listen 443 ssl http2;

Step 3: Enable server push

To configure Nginx for server push, add the following lines inside the server block of your Nginx configuration:

http2_push_preload on;
http2_push /path/to/resource1;
http2_push /path/to/resource2;

Replace /path/to/resource1 and /path/to/resource2 with the paths to the resources you want to proactively push to the client.

Step 4: Test your configuration

Save the Nginx configuration file and restart the Nginx service. Run the following command to verify if HTTP/2 server push is enabled:

nginx -t

If the test is successful, restart Nginx using:

service nginx restart

Step 5: Measure the performance

After configuration, monitor your website's performance and measure the improvement in loading times. HTTP/2 server push can significantly reduce the number of round trips required to load resources, resulting in faster page load times.


Configuring Nginx for HTTP/2 server push is a great way to optimize your website's performance and provide a faster experience to your users. By proactively pushing resources to the client, you can reduce latency and improve overall loading times.