我使用带有nginx的X-Accel-Redirect在nodejs中提供受限制的下载。我试图将非标准HTTP标头Header1,Header2中的自定义标头发送到X-Accel-Redirect请求。但这不起作用。
用于执行重定向的rails代码段
var httpHeaders={'NonStandardHeader':"Hello"}
var headers = Object.assign({ 'X-Accel-Redirect': url }, httpHeaders);
res.writeHead(200, headers);
res.end();
nginx.conf
location /microservice/file {
alias /protected;
internal;
}
location /microservice/memcache {
...
internal;
}
答案 0 :(得分:2)
我找到了问题的解决方案。将查询字符串传递到内部位置
的NodeJS:
var url='/microservice/file/a1.json?p=23x&e=22d';
res.writeHead(200, { 'X-Accel-Redirect': url });
res.end();
nginx.conf
location /microservice/file {
alias /protected;
add_header 'NonStandardHeader' $arg_p;
expires $arg_e;
internal;
}