O'Reilly logo

Nginx HTTP Server - Second Edition by Clement Nedelcu

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Location block priorities

The problem frequently occurs when using multiple location blocks in the same server block: configuration does not apply as you thought it would.

As an example, say you want to define a behavior to be applied to all image files that are requested by clients:

location ~* \.(gif|jpg|jpeg|png)$ {
    # matches any request for GIF/JPG/JPEG/PNG files
    proxy_pass http://imageserver; # proxy pass to backend
}

Later on, you decide to enable automatic indexing of the /images/ directory. Therefore, you decide to create a new location block, matching all requests starting with /images/:

location ^~ /images/ {
    # matches any request that starts with /images/
    autoindex on;
}

With this configuration, when a client requests to download /images/square.gif ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required