请问可以使用 nginx 代理下载文件吗?

2020-02-27 00:55:51 +08:00
 fzhyzamt

平时总是遇到直接下载速度很慢的问题, 在服务器上就很流畅. 可能是因为服务商线路问题?

我目前遇到这种情况是登到服务器上 wget 下来, 然后扔到网站静态资源目录下边, 但是这样非常麻烦.

所以想是不是可以通过 nginx 做一个不需要配置的正向代理, 用起来像这样: https://example.com/download?url=https://xxx.com/xxx.zip

这样就可以非常简单的加速下载了, 可能有点像离线下载, 但是应该不需要将文件暂存到服务器上, 直接转发即可.

如果用代码的话逻辑大概是这样的,

def redirect(url, response):
  download = requests.get(url, stream=True)
  for chunk in download.iter_content(chunk_size=512):
    if chunk:
      response.write(chunk)
  
3197 次点击
所在节点    程序员
8 条回复
littlewing
2020-02-27 01:34:33 +08:00
反代一下不就行了,然后你直接访问你服务器的 ip 下载
ysc3839
2020-02-27 01:41:42 +08:00
理论上可以,但是这种情况还是建议你使用 Privoxy。
xabc
2020-02-27 09:51:22 +08:00
darknoll
2020-02-27 10:49:18 +08:00
ssh 动态端口转发到本地端口
learningman
2020-02-27 16:42:58 +08:00
php 写个试试?就是小心被拿 shell
实在不行自建个 V2Ray 呗
program9527
2020-09-27 18:13:27 +08:00
可以
program9527
2020-09-27 18:14:09 +08:00
具体可以看我的 github 地址里面的 `gh-proxy.conf` 文件,你如果要用可能需要稍微改造下

我的文件代理下载的网站地址:pd.zwc365.com

里面有 github 地址
program9527
2020-09-27 18:15:31 +08:00
它的代理下载文件功能,最终就是使用的 Nginx 来下载的。我是上 google 搜看有不有人实现了类似功能,于是看到这篇文章才回复的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/647892

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX