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

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

高老师1年前 (2023-10-02)大杂烩435

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

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

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

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

分享给朋友:

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

svn自动更新到网站

svn自动更新到网站

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

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...

Git日志查看和版本切换

Git日志查看和版本切换

日志查看:git log版本切换:方式1:git  reset  --hard  HEAD^   倒退一个版本git  reset  --hard  HEAD^^  倒退两个版本方式2:(版本号的形式,建议版本号码补充完...

C# md5加密,C# md5加密代码

C# md5加密,C# md5加密代码

public static string GetMD5(string str) {     //创建MD5对象     MD5 md5 = MD5.C...

c#中文简体转换繁体

c#中文简体转换繁体

private const string fantizi = "高久峰是個程序員"; private const string jiantizi = "高久峰是个程序员...