当前位置:首页 > 大杂烩 > 正文内容

Nginx安全机制限制 X-Accel-Redirect 访问站点目录下的文件解决方案

高老师2年前 (2023-10-02)大杂烩487

X-Accel-Redirect 的目的是将大文件处理过程交给 Nginx,减轻后端服务器的负担。此特性主要适用于处理下载、视频流等操作,通过重定向让 Nginx 直接向客户端发送文件内容,从而加快文件传输速度。

但是 X-Accel-Redirect 并不支持将文件访问路径设置为站点目录之外的路径,这是因为 Nginx 的安全机制限制了 X-Accel-Redirect 只能访问站点目录下的文件。如果你需要将文件访问路径设置为站点目录之外的路径,可能需要通过其他方式实现。

我是通过PHP设置动态HEADER头信息:

X-Accel-Redirect:G:/115/20231002/8/file_651a9675e94431696241269.zip

此时Nginx错误信息如下:

CreateFile() "D:/wwwroot/pan/publicG:/115/20231002/8/file_651a9675e94431696241269.zip" failed (123: The filename, directory name, or volume label syntax is incorrect)

配置下nginx alias指令信息

location /G: {
    alias G:/;
    internal;
}

上面的目的是让/G作为站点目录下面的内部目录并且指向到/G,/G是我通过115网盘挂载到本地的磁盘。

在PHP代码层给盘符前面加上/,让Nginx以为它是站点目录下面的目录:

X-Accel-Redirect:/G:/115/20231002/8/file_651a9675e94431696241269.zip

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/638.html

分享给朋友:

“Nginx安全机制限制 X-Accel-Redirect 访问站点目录下的文件解决方案” 的相关文章

c#中string和StringBuilder效率对比

c#中string和StringBuilder效率对比

    c#中string和StringBuilder直接看看执行速度。(2).String类型累计赋值Test               ...

svn自动更新到网站

svn自动更新到网站

【一】.钩子文件的设置和创建(1).打开hooks目录,可以看到有一个post-commit.tmpl文件,这是一个模板文件。复制一份,重命名为post-commit,将其用户组设为www,并设置为可执行。chown www:www post-commitchmod +x post-commit(2...

Git本地仓库学习

Git本地仓库学习

1.全局用户信息设置 git  config  --global  user.name  gaojiufeng git  config  --global  user.email  392223903...

PHP安装mongodb扩展

PHP安装mongodb扩展

在安装之前我们先看看官方给出的依赖关系.首先是dll文件和mongodb软件的依赖关系然后是PHP文件和dll的依赖关系我的是phpstudy的集成环境PHP5.4.45 NTS+Apache+Mysql【一】.安装mongodb3.0软件对比依赖关系下载mongodb3.0.msi软件,完整名称:...

Git推送文件到远程仓库

Git推送文件到远程仓库

1.远程仓库的协作模式开发者把自己最新的版本推到线上仓库,同时把线上仓库的最新代码,拉到自己本地即可2.注册git帐号国外: http://www.github.com国内: http://git.oschina.net2.在码云创建项目,不要初始化readmegit push https://gi...

c#关闭计算机的代码

c#关闭计算机的代码

    1.关机Process.Start("shutdown", "-s -t 0");    2. 注销  Proc...