- 浏览: 1477859 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
用途,确认一个链接比如下载pdf,在一定有效期内有用
可以加个用户的权限验证,随便用个密钥和路径和时间戳,生成url串,如果不是在指定时间内访问,则可以自定义错误编码402,407等任意
1.nginx编译的时候需要./configure --prefix=/usr/local/nginx --with-http_secure_link_module
2.确定nginx要保护的目录,配置在nginx.conf中
3.用php可以生成可用链接,先用fastcgi把php跑起来
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php-cgi -P /var/run/fastcgi-php.pid
随便建立个文件pdf文件
[root@haoning html]# tree . ├── 50x.html ├── index.html ├── index.php ├── p │ └── files │ └── top_secret.pdf └── test.php 2 directories, 5 files [root@haoning html]# pwd /usr/local/nginx/html [root@haoning html]#
php代码
[root@haoning sbin]# cat ../html/test.php <?php $secret = 'segredo'; // To make the hash more difficult to reproduce. $path = '/p/files/top_secret.pdf'; // This is the file to send to the user. $expire = time()+100; // At which point in time the file should expire. time() + x; would be the usual usage. echo $expire; echo "</br>"; echo time(); echo "</br>"; $md5 = base64_encode(md5($secret . $path . $expire, true)); // Using binary hashing. $md5 = strtr($md5, '+/', '-_'); // + and / are considered special characters in URLs, see the wikipedia page linked in references. $md5 = str_replace('=', '', $md5); // When used in query parameters the base64 padding character is considered special. echo $md5; echo "</br>"; echo "http://210.56.194.39/p/files/top_secret.pdf?st=$md5&e=$expire"; echo "</br>"; echo "<a href=\"http://210.56.194.39/p/files/top_secret.pdf?st=$md5&e=$expire\">http://210.56.194.39/p/files/top_secret.pdf?st=$md5&e=$expire</a>" ?>
nginx.conf
[root@haoning conf]# cat nginx.conf worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location /p/ { secure_link $arg_st,$arg_e; secure_link_md5 segredo$uri$arg_e; if ($secure_link = "") { return 402; } if ($secure_link = "0") { return 405; } } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; set $path_info "/"; set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") { set $real_script_name $1; set $path_info $2; } } fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; fastcgi_param script_name $real_script_name; fastcgi_param path_info $path_info; include /usr/local/nginx/conf/fastcgi_params; } } [root@haoning conf]#
官方链接
http://wiki.nginx.org/HttpSecureLinkModule
后续还要结合
https://github.com/netdna/ngx_secure_token
发表评论
-
ios的safari使用自制ca证书测试webrtc
2018-08-20 13:31 2441这个需要注意 https://stackoverflow.c ... -
nginx push_upstream模块的websocket
2018-05-04 23:27 1221参考 https://www.rails365.net/art ... -
openresty聊天室的helloworld
2018-04-22 19:25 800openresty的websocket + redis的sub ... -
openresty websocket
2018-04-18 17:08 1520mac安装openresty brew install o ... -
nginx模块开发(三)upstream模块
2017-08-20 23:48 845使用nginx-1.13.4版本 三个文件ngx_http_ ... -
nginx模块开发(二) 使用gdb-dashboard调试
2017-08-11 18:47 2010gdb-dashboard或者 gdbgui 或者gdb自带 ... -
nginx模块开发(一)
2017-07-29 22:44 566决定重新整理nginx模块开发 helloworld con ... -
nginx带进度条的上传超大文件
2016-12-12 18:40 387311年写的 http://haoningabc.iteye.c ... -
nginx rewrite替代apache rewrite
2016-10-18 20:30 834清理chrome的缓存 chrome://appcache-i ... -
ffmpeg+nginx 的直播(2,直播摄像头和麦克风)
2016-05-28 20:21 4361假设我的服务器是centos7 192.168.139.117 ... -
ffmpeg+nginx 的直播(1,直播播放的视频文件)
2016-05-26 17:11 659564位操作系统centos7 ############ 1.一 ... -
nginx执行流程
2014-04-15 18:35 1081目标:打印nginx执行之后的流程方法 my_debug.c ... -
graphviz绘制nginx函数调用图
2014-04-14 18:43 1465以下是c的版本 c++代码去 http://www.cnblo ... -
nginx的远程调用模块
2014-03-24 14:31 2769在tx工作的时候,自己的虚拟机总是连接不上,公司封了ssh端口 ... -
通过nginx远程执行shell
2014-03-03 10:26 5087saltstack远程执行shell,远程管理等返回json已 ... -
nginx的upstream模块
2014-01-17 17:37 3205参考http://nginx.weebly.com/31034 ... -
nginx调试日志的几种方法
2013-10-17 22:54 23315最简单的方式就是 fprintf(stderr, &qu ... -
nginx 上传进度条
2012-11-01 16:24 7612费劲周折,一晚上终于搞定了,nginx版本1.38 ----- ... -
ubuntu装openrestry
2012-03-01 00:16 1333apt-get install make apt-get in ... -
udp的socket的helloworld
2011-12-07 00:56 1101来自百度 [root@red54apple test]# ...
相关推荐
本文将深入探讨如何利用`nginx+lua+redis`来实现`token`验证,以确保只有经过授权的用户才能访问受保护的资源。 首先,让我们理解`token`验证的基本原理。`token`验证是一种身份验证机制,它允许客户端通过提供一个...
nginx-token 是一个基于 memcached 的 Nginx 令牌模块。 示例配置: server { listen 80; root /var/www; location / { token on; token_server 127.0.0.1:11211; token_len 12; token_key token...
- 服务器接收到请求后,验证令牌的有效性,包括检查签名、过期时间等。 - 如果验证通过,服务器处理请求;否则,返回错误信息。 5. **Nginx配置令牌验证**: - 在Nginx配置中,可以设置HTTP头检查,确保每个请求...
Nginx-RTMP是Nginx的一个扩展模块,由Adobe Systems开发,用于支持Real-Time Messaging Protocol (RTMP)。RTMP是一种协议,常用于在线流媒体传输,如视频直播服务。Nginx-RTMP模块允许Nginx接收来自Flash Player或...
标题中的“第一个Nginx模块的例子”意味着我们将探讨如何创建一个自定义的Nginx模块。Nginx是一个高性能的Web服务器和反向代理服务器,它以其轻量级、高并发处理能力而闻名。开发自定义模块可以让用户扩展Nginx的...
SpringBoot负责生成Token和验证Token,而FastDFS负责文件存储,Nginx负责文件下载和缓存。 7. Token生成和验证:Token生成和验证是基于Token防盗链机制的关键步骤。Token生成通常使用UUID或其他唯一标识符,而验证...
**Nginx的Memcache模块**是Web服务器Nginx的一个扩展,用于缓存动态内容,提高网站性能。Memcache是一种高性能的分布式内存对象缓存系统,它可以在内存中存储各种格式的数据,如字符串、整型、二进制对象等,以减少...
【标题】: "带nginx-rtmp-module模块的Nginx" 在当今互联网技术日新月异的时代,实时流媒体传输已经成为在线视频分享、直播、远程教育等应用场景不可或缺的一部分。Nginx,作为一款高性能的HTTP和反向代理服务器,...
Nginx是一个高性能的Web服务器和反向代理服务器,其内部设计采用了模块化的架构,这使得Nginx具有高度灵活性和可扩展性。模块化设计是Nginx的核心特点,它将复杂的系统分解为几个独立的功能组件,每个组件专注于一个...
网上查找nginx-openresty添加rtmp模块的方法基本都是在Linux上的。但由于项目需要在Windows上使用nginx,无奈只好自己去找资料,在Windows上编译nginx-openresty同时加入rtmp模块。本资源是Windows上生成好的...
双击nginx.exe # 简要说明 conf/nginx.conf 为配置文件实例 RTMP监听 1935 端口,启用live 和hls 两个application HTTP监听 8080 端口, * :8080/stat 查看stream状态 * :8080/index.html 为一个直播播放与直播...
深入理解Nginx模块开发及架构解析,深入理解Nginx模块开发及架构解析
**Nginx 1.7 + RTMP 模块详解** 在数字媒体和直播领域,Nginx 结合 RTMP 模块是一个广泛使用的解决方案,它允许用户在 Windows 平台上搭建一个高效的流媒体服务器。Nginx 是一款高性能的 HTTP 和反向代理服务器,而...
用于 nginx 的 LDAP 身份验证模块nginx的LDAP模块,支持针对多个LDAP服务器的身份验证。如何安装FreeBSD cd /usr/ports/www/nginx && make config install clean 检查 HTTP_AUTH_LDAP 选项 [*] ...
**Nginx Upload Progress 模块详解** Nginx 是一款高性能、轻量级的 Web 服务器/反向代理服务器,被广泛应用于互联网服务。它以其稳定性和高并发能力受到赞誉。在处理大文件上传时,为了提供更好的用户体验,开发者...
nginx-upload-module模块源码,用于nginx配置文件上传功能
在本教程中,我们将探讨如何在您的系统上安装Nginx,并整合**RTMP (Real-Time Messaging Protocol)** 模块,以便支持流媒体服务。 首先,我们需要准备以下组件: 1. **openssl-OpenSSL_1_0_1i.tar.gz**: 这是...
nginx的mod_wsgi模块, 适用于nginx 0.5.34, 其他版本有对应的patch(尚不支持0.7.x, 对于0.6.x版本打过附带的patch之后编译可能还会有问题). 建议: python编译的时候推荐使用--eneble-shared, 否则需要修改mod_wsgi...
生产版nginx最新版本Dockerfile 添加主动检查nginx_upstream_check_module等第三方模块,