现在的问题是
用户输入的是一个 id
需要用这个 id
去请求一个 api
才能得到 文件资源路径 .
想到 两个方法
- 这个请求由 go, php, node 等去处理
- nginx 代理一个动态变化的 proxy_pass , 要先从 api 拿到, 或者 api地址可以返回 301 到真实地址
主要是为了美观, 所以不想 301 到另一个地址
举个例子就是
用户访问 http://a.com/60.jpg 的时候, 图片资源的真实路径其实是在 http://b.com/2018/02/11/54309...
nginx 可以由一个特殊的
X-Accel-Redirect
头部控制资源访问。所以可以直接 proxy_pass 到 upstream, upstream 根据请求动态生成文件路径,添加到
X-Accel-Redirect: /path/to/file
头部,nginx取回上游返回后,内部跳转/path/to/file
, 这是一个内部跳转,外部不可见的,你还可以添加internal
指令控制该文件不可直接访问。