Попытайтесь использовать корень вместо псевдонима.
location /secure/ {
internal;
root /home/ldr/webapps/nginx/app/;
}
Кажется на недоразумение точки x-accel-redirect. Точка этой функции должна позволить Вашему бэкенду обрабатывать аутентификацию, регистрируясь и т.д и затем передавать обслуживание файла в Nginx.
Это означает, что Вы не получаете доступ к URI непосредственно, но у Вас есть своя проблема бэкенда, x-accel-redirect заголовок и Nginx будут служить файлу в противоположность Вашему бэкенду, таким образом освобождая его, чтобы сделать другой материал.
если это на самом деле, что Вы делаете, когда Вы сказали I'm passing in paths in the form: "/myfile.doc"
затем Ваш URI не соответствует местоположению. Вы по существу даете Nginx новый запрос, таким образом, он сделает нормальное соответствие местоположения. Таким образом, если Вы хотите, чтобы это соответствовало location /secure/
необходимо передать его URI, запускающийся с /secure/
такой как /secure/myfile.doc
и Nginx служил бы /home/ldr/webapps/nginx/app/secure/myfile.doc