Node.js 告诉ngix使用反向代理从节点应用程序内发送文件

Node.js 告诉ngix使用反向代理从节点应用程序内发送文件,node.js,nginx,reverse-proxy,Node.js,Nginx,Reverse Proxy,我有一个由nginx代理的node-express应用程序。Nginx已经在/static 但是,我有一些文件需要限制访问。在nginx将HTTP请求代理给我的节点应用程序后,在/restricted上,我需要运行授权逻辑,然后以某种方式让nginx知道它应该从非公共目录提供特定文件 我不想直接从节点发送文件,因为它们很大,会阻塞主线程。 从应用程序生成包含X-Accel-RedirectHTTP响应头的响应,该响应头指定以/restricted/开头的URI Nginx将拦截响应并在内部重写U

我有一个由nginx代理的node-express应用程序。Nginx已经在/static

但是,我有一些文件需要限制访问。在nginx将HTTP请求代理给我的节点应用程序后,在/restricted上,我需要运行授权逻辑,然后以某种方式让nginx知道它应该从非公共目录提供特定文件

我不想直接从节点发送文件,因为它们很大,会阻塞主线程。

  • 从应用程序生成包含
    X-Accel-Redirect
    HTTP响应头的响应,该响应头指定以
    /restricted/
    开头的URI
  • Nginx将拦截响应并在内部重写URI
  • 配置包含
    内部指令的
    位置
例如:

location /restricted {
    internal;
    alias /path/to/files;
}
更多信息,请参阅