比如站点下有 a.com/img/a.jpg
需求如下 直接访问 http://a.com/img/a.jpg 会提示没有权限
必须通过 http://a.com/img/a.jpg?sign={signcode} 的方式访问,并且有有效期限
签名可以通过程序计算出来,由 web 后端程序计算生成签名后的链接
1
ysc3839 2023-09-16 14:42:24 +08:00 via Android
估计得用 OpenResty 等,配合脚本实现
|
2
Puteulanus 2023-09-16 14:44:06 +08:00 1
签名,有效期,感觉你需要的是 jwt
有第三方的 jwt 模块,要自己编译,Nginx Plus 有个官方的 http://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html |
3
wonderfulcxm 2023-09-16 14:45:17 +08:00 via iPhone
ngx_lua 那种应该可以写
|
4
LLaMA2 2023-09-16 15:03:49 +08:00
|
5
lovelylain 2023-09-16 15:06:21 +08:00 via Android 1
nginx 有 http://nginx.org/en/docs/http/ngx_http_secure_link_module.html 可以实现你要的签名验证功能。我的折腾路线是:先用了这个功能,但这功能只能验证,我还是得有另外的页面来生成认证信息,所以折腾又折腾,生成和验证全部转发给另外的接口处理了,通过 nginx 的内部转发实现。
|
6
ksc010 OP 感谢各位
@lovelylain 研究了下 ngx_http_secure_link_module , 这个可以满足我的需求 |