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

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

高老师3年前 (2023-10-02)大杂烩723

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 访问站点目录下的文件解决方案” 的相关文章

Git本地仓库学习

Git本地仓库学习

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

Application的错误使用

Application的错误使用

Application 对象用于存储和访问来自任意页面的变量,类似 Session 对象。不同之处在于所有的用户分享一个 Application 对象,而 session 对象和用户的关系是一一对应的。很多的书籍中介绍的Application对象都喜欢以统计在线人数来介绍Application 对象...

Git日志查看和版本切换

Git日志查看和版本切换

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

 vsftp 命令,vsftp常用操作命令

vsftp 命令,vsftp常用操作命令

vsftp常用操作命令:1.启动vsftp: service vsftpd start 2.重启vsftp: service vsftpd restart3.修改用户密码:passwd lao8org4.创建用户:useradd -d /data/wwwroot/blog -s /sbin...

VMware CentOS网络连接设置

VMware CentOS网络连接设置

1.设置桥接模式,复制物理网络状态2.编辑/etc/sysconfig/network-scripts/ifcfg-eth0以下配置:(如果没有自己创建对应选项)ONBOOT=yes NM_CONTROLLED=noBOOTPROTO=staticIPADDR=192.168.2.240...

redis所有key命令,redis key命令

redis所有key命令,redis key命令

1.设置key的value     set name gao2.获取key的value     get name3.删除key            del key1 key2 ... Keyn4.修...