How to remove trailing slash after file extension using Nginx?

July 5, 2019 328 views
Nginx Ubuntu 16.04

I have a Ghost site at and (internally, it’s running on port 2368). At the same time, I have a file named form.pdf and I want to make it available (view in browser, not to ask user to download) at:


With configuration below, it only works if it contains trailing slash after the .pdf extension like so:


PDF file path:


Config file path:


Config file:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    server_name 123.45.678.901 localhost *;

    root /usr/share/nginx/html;
    index index.html index.htm;

    client_max_body_size 100M;

    location "/form.pdf" {
        alias /var/www/ghost/pdfs;
        index form.pdf;

    location / {
        proxy_pass http://localhost:2368;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;

When I remove the trailing slash after the .pdf extension, I got 404 error.


How to correctly configure Nginx to make it work without the trailing slash at the end?

1 Answer

I found the answer. This one worked for me:

location = /form.pdf {
        root /var/www/ghost/pdfs;
Have another answer? Share your knowledge.