如何根据代理响应有条件地在 nginx 中提供静态文件?
How to serve static files in nginx conditionally based on proxy response?
我有一个文件夹 /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。谢谢。
感谢@stephenKing,我需要用 --with-http_auth_request_module
编译 nginx,然后创建一个 API 来响应 403
或 200
location ~* /(\w+)/static/limited/(?:/_[\d]+\.[\d]+\.[\d]+)?/(.*)$
{
auth_request /IC/contents/can_i_access_limited;
alias /home/A/iB-system/C//static/uploads/;
}
我有一个文件夹 /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。谢谢。
感谢@stephenKing,我需要用 --with-http_auth_request_module
编译 nginx,然后创建一个 API 来响应 403
或 200
location ~* /(\w+)/static/limited/(?:/_[\d]+\.[\d]+\.[\d]+)?/(.*)$
{
auth_request /IC/contents/can_i_access_limited;
alias /home/A/iB-system/C//static/uploads/;
}