老师您好,我这边设置了secure_link防盗链后,资源路径带上正确的MD5和超时时间却不能正常访问是什么原因呢?

来源:2-13 Nginx虚拟主机及实现方式

gin15

2021-05-06

以下是我的nginx.conf设置secure_link的代码

http://img.mukewang.com/szimg/6093618009d06bec10740712.jpg

以下是我设置MD5加密和超时时间的java代码

import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils;
public class VideoUtils {
    public static void main(String[] args) {
        String time = String.valueOf(System.currentTimeMillis() / 1000 + Long.valueOf(600));// +600代表600秒后地址失效
        String md5 = Base64.encodeBase64URLSafeString(DigestUtils.md5("customSecretKey" + "/123.jpg" + time));
        System.out.println("http://192.168.189.138:8082/images/123.jpg?st=" + md5 + "?e=" + time);
    }
}
123.jpg在路径上是存在的,请问为什么我最后生成的地址nginx会到脚本中的402这一步呢?




写回答

1回答

Jeson

2021-05-14

secure_link $arg_st,$arg_e;
    #st的哈希格式为自定义秘钥+url+e,e为时间戳单位s,url为请求地址。

当这两个参数变量都为空就会导致return 402,所以看看前端轻轻有木有正常传递参数

0
0

Nginx入门到实践-Nginx中间件应用+搭建Webserver架构

中间件、负载均衡、应用层安全防护、动静分离、Nginx+LUA开发等

4183 学习 · 908 问题

查看课程