nginx 能对静态资源做签名验证吗?

249 天前
 ksc010

比如站点下有 a.com/img/a.jpg

需求如下 直接访问 http://a.com/img/a.jpg 会提示没有权限

必须通过 http://a.com/img/a.jpg?sign={signcode} 的方式访问,并且有有效期限

签名可以通过程序计算出来,由 web 后端程序计算生成签名后的链接

752 次点击
所在节点    问与答
6 条回复
ysc3839
249 天前
估计得用 OpenResty 等,配合脚本实现
Puteulanus
249 天前
签名,有效期,感觉你需要的是 jwt
有第三方的 jwt 模块,要自己编译,Nginx Plus 有个官方的 http://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html
wonderfulcxm
249 天前
ngx_lua 那种应该可以写
LLaMA2
249 天前
lovelylain
249 天前
nginx 有 http://nginx.org/en/docs/http/ngx_http_secure_link_module.html 可以实现你要的签名验证功能。我的折腾路线是:先用了这个功能,但这功能只能验证,我还是得有另外的页面来生成认证信息,所以折腾又折腾,生成和验证全部转发给另外的接口处理了,通过 nginx 的内部转发实现。
ksc010
249 天前
感谢各位
@lovelylain 研究了下 ngx_http_secure_link_module , 这个可以满足我的需求

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

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

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

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

© 2021 V2EX