学习链接
Nginx通过auth_request结合Springboot实现静态文件下载鉴权
nginx搭建直播推流服务&推流拉流鉴权
步调
1、安装nginx
这里nginx的版本是nginx-1.24.0
- ./configure --with-http_ssl_module --with-stream --with-stream_ssl_module --with-http_auth_request_module
- make
- make install
- # 默认安装在/usr/local/nginx
复制代码 2、配置nginx
3、后端代码
- @Slf4j
- @RestController
- public class VodAuthController {
- @Autowired
- private HttpServletResponse response;
- @Autowired
- private HttpServletRequest request;
- @RequestMapping("/auth")
- public void auth() {
- System.out.println("auth...");
- Enumeration<String> headerNames = request.getHeaderNames();
- while (headerNames.hasMoreElements()) {
- String headerName = headerNames.nextElement();
- System.out.println(headerName + " - " + request.getHeader(headerName));
- }
- String token= request.getHeader("x-token");
- if ("123".equals(token)) {
- log.info("鉴权通过!!!");
- response.setStatus(200);
- } else {
- log.info("鉴权失败!!!");
- response.setStatus(403);
- }
- }
- }
复制代码 4、dplayer播放mp4视频html代码
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.css">
- <script src="https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.js"></script>
- </head>
- <body>
- <div id="dplayer" style="width: 800px;height: 500px;"></div>
-
- </body>
- <script>
- const dp = new DPlayer({
- container: document.getElementById('dplayer'),
- video: {
- url: 'http://192.168.134.3/videos/netty03.mp4?token=123'
- },
- });
- </script>
- </html>
复制代码 5、测试
此时后台输出
- ...
- auth...
- x-original-uri - /videos/netty03.mp4?token=123
- x-token - 123
- x-original-method - GET
- host - 192.168.134.5:8080
- connection - close
- pragma - no-cache
- cache-control - no-cache
- user-agent - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36
- accept-encoding - identity;q=1, *;q=0
- accept - */*
- referer - http://127.0.0.1:5500/
- accept-language - en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7
- range - bytes=165478400-
- INFO 320 --- [io-8080-exec-10] com.zzhua.demo5.VodAuthController : 鉴权通过!!!
- ...
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |