告诉nginx使用反向代理从节点应用程序中发送文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了告诉nginx使用反向代理从节点应用程序中发送文件相关的知识,希望对你有一定的参考价值。

我有一个由nginx代理的节点快递应用程序。 Nginx已经处理了/ static上的大多数公共静态文件

但是,我有一些需要限制访问的文件。在nginx将HTTP请求代理到我的节点应用程序on / restricted之后,我需要运行我的授权逻辑,然后,不知何故,让nginx知道它应该从非公共目录服务特定文件。

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

答案
  • 从您的应用生成包含X-Accel-Redirect HTTP响应标头的响应,该标头指定以/restricted/开头的URI
  • Nginx将拦截响应并在内部重写URI
  • 配置包含location指令的internal

例如:

location /restricted {
    internal;
    alias /path/to/files;
}

有关更多信息,请参阅this document

以上是关于告诉nginx使用反向代理从节点应用程序中发送文件的主要内容,如果未能解决你的问题,请参考以下文章

Nginx反向代理的使用及原理

如何使用多个节点应用程序设置 nginx 反向代理

nginx反向代理停止端口覆盖

Nginx反向代理

[转]使用Nginx实现反向代理

php nginx反向代理