2023年7月7日 | Leave a comment 问题: aliyun oss 限制下载,一种是设置 bucket 访问策略限制ip,还可以通过 x-oss-ac-source-ip 来限制 第二种方式我们这使用java oss sdk , GeneratePresignedUrlRequest req = new GeneratePresignedUrlRequest(file.bucket, objectName); //不行 req.addHeader("x-oss-ac-source-ip", ip); req.addQueryParameter("x-oss-ac-subnet-mask", "32"); // // // 设置查询参数。 // Map<String, String> queryParam = new HashMap<String, String>(); // // 指定IP地址或者IP地址段。 // queryParam.put("x-oss-ac-source-ip", ip); // // 指定子网掩码中1的个数。 // queryParam.put("x-oss-ac-subnet-mask", "32"); // // 指定VPC ID。 // // queryParam.put("x-oss-ac-vpc-id","vpc-12345678"); // // 指定是否允许转发请求。 // // queryParam.put("x-oss-ac-forward-allow","true"); // req.setQueryParameter(queryParam);//也不行 URL url = ossClient.generatePresignedUrl(req); 12345678910111213141516171819 GeneratePresignedUrlRequest req = new GeneratePresignedUrlRequest(file.bucket, objectName);//不行 req.addHeader("x-oss-ac-source-ip", ip); req.addQueryParameter("x-oss-ac-subnet-mask", "32");//// // 设置查询参数。// Map<String, String> queryParam = new HashMap<String, String>();// // 指定IP地址或者IP地址段。// queryParam.put("x-oss-ac-source-ip", ip);// // 指定子网掩码中1的个数。// queryParam.put("x-oss-ac-subnet-mask", "32");// // 指定VPC ID。// // queryParam.put("x-oss-ac-vpc-id","vpc-12345678");// // 指定是否允许转发请求。// // queryParam.put("x-oss-ac-forward-allow","true");// req.setQueryParameter(queryParam);//也不行 URL url = ossClient.generatePresignedUrl(req); 但是不行,生成的网址访问时老提示签名不对 解决: 参考: https://help.aliyun.com/document_detail/31952.html?spm=a2c4g.31815.0.i1