I have a Ghost site at example.com
and www.example.com
(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:
example.com/form.pdf
www.example.com/form.pdf
With configuration below, it only works if it contains trailing slash after the .pdf
extension like so:
example.com/form.pdf/
www.example.com/form.pdf/
PDF file path:
/var/www/ghost/pdfs/form.pdf
Config file path:
/etc/nginx/sites-available/ghost
Config file:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name 123.45.678.901 localhost example.com *.example.com;
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.
Question:
How to correctly configure Nginx to make it work without the trailing slash at the end?