这可能与this question有关。
我尝试使用nginx提供静态文件。但是,只有具有适当权限的注册用户才可以下载这些文件。
在django应用程序中,我已经可以授权用户,但是由于下载不是django提供的,而是nginx提供的,因此我遇到了一些问题。
当前我的nginx配置中有两个位置。
location / {
uwsgi_pass django;
include /usr/share/nginx/uwsgi_params;
}
location ~ /projects/(.*)/downloads/(.+[^/])$ {
auth_request /api/auth;
root /usr/share/nginx/downloads;
}
此配置有效,但是我无法检查是否允许注册用户访问此下载区域。
如果我可以将第二个代码段调整为这样的语法就足够了。
location ~ /projects/(.*)/downloads/(.+[^/])$ {
auth_request /projects/$1/downloads/;
root /usr/share/nginx/downloads;
}
但是使用此配置,不会调用uri,而是调用给定的字符串 /projects/my_project/downloads/my_file.txt
是否有一种简单的方法将原始uri传递给auth_request?
提前谢谢