我有一个文件夹/static/uploads/limited
,我需要配置nginx来为特定用户提供一些文件。我还有一个API /api/auth/canIDownloadThis
,它响应json,如
{
"result:"true"
}
如何在提供特定文件夹之前让nginx检查我的API proxy_pass的响应?
我需要的伪代码是这样的:
location /static/uploads/limited{
IF /api/canIdownloadThis IS TRUE
THEN alias /my_secret_folder_path
}
因为我不想使用basic_auth。谢谢。
答案 0 :(得分:2)
感谢@stephenKing,我需要使用--with-http_auth_request_module
编译nginx,然后创建一个响应403
或200
location ~* /(\w+)/static/limited/(?:/_[\d]+\.[\d]+\.[\d]+)?/(.*)$
{
auth_request /IC/contents/can_i_access_limited;
alias /home/A/iB-system/C/$1/static/uploads/$2;
}