有关这个模块的一些文档在这里去看:http://wiki.codemongers.com/NginxHttpAccessKeyModule
shell> ./configure --add-module=path/to/nginx-accesskey
4. 修改nginx的conf文件,添加以下几行:location /download {
accesskey on;
accesskey_hashmethod md5;
accesskey_arg "key";
accesskey_signature "mypass$remote_addr";
}
其中:
accesskey为模块开关;
accesskey_hashmethod为加密方式MD5或者SHA-1;
accesskey_arg为url中的关键字参数;
accesskey_signature为加密值,此处为mypass和访问IP构成的字符串。
访问测试脚本download.php:
<?php
$ipkey= md5("mypass".$_SERVER['REMOTE_ADDR']);
$output_add_key="<a href=http://xx/download/xx.rar?key=".$ipkey.">download_add_key</a><br />";
$output_org_url="<a href=http://xx/download/xx.rar>download_org_path</a><br />";
echo $output_add_key;
echo $output_org_url;
?>
原理是:
通过接受到的参数值判断访问是否合法。这里有一套MD5加密算法。前台的网页根据用户的IP产生一个MD5值,后端的WEB SERVER就来判断这个MD5,对的就放行。不对就拒绝。浏览器上直接访问物理文件,是不能打开的。
如我的download 目录下有一个 file.zip 的文件。对应的URI 是http://xx/download/file.zip
使用ngx_http_accesskey_module 模块后http://xx/download/file.zip?key=09093abeac094. 只有给定的key值正确了,才能够下载download目录下的file.zip。而且 key 值是根据用户的IP有关的,这样就可以避免被盗链了。
二. nginx的线程限制和带宽限制
这里有nginx的标准模块ngx_http_limit_zone_module,这个模块可以针对条件,进行会话的并发连接数控制。
http {
location /download/ {
limit_conn one 1; #一个ip客户端,最大2个并发线程
limit_rate 32k; #每个线程最大下载速度
相关推荐
在搭建一个用于提供下载服务的Nginx服务器时,我们需要进行一系列的配置步骤。以下是详细过程: 1. **安装Nginx** 首先,你需要在你的服务器上安装Nginx。对于Ubuntu/Debian系统,可以使用以下命令: ``` sudo ...
Nginx 高性能web服务器详解、包括安装、配置、Linux内核优化、Nginx的相关优化等
搭建Nginx点播服务器是将Nginx配置为一种能高效处理静态媒体文件,如音频和视频,供用户按需访问的服务器。Nginx因其高性能、高并发能力、内容分发、缓存功能、安全性以及负载均衡能力,成为搭建点播服务器的理想...
1. **获取源代码**:首先,从Nginx官方网站或GitHub仓库下载Nginx的源代码。同时,你需要获取Nginx RTMP模块的源代码,通常是一个单独的git库。 2. **安装依赖**:在Windows上,你需要安装Microsoft Visual Studio...
以上步骤完成后,你的Nginx服务器就配置成一个文件下载服务器了。用户可以通过输入IP地址加端口号的方式访问到你设定的下载目录,并进行文件下载操作。 此外,在使用Nginx搭建文件下载服务器时,还需要注意文件权限...
- 配置Nginx服务器,设置RTMP模块的相关指令,如应用的监听端口、流存储路径等。 - 启动或重启Nginx服务,使其加载新的配置。 4. **配置RTMP转发** 在Nginx配置文件中,可以通过`rtmp`指令定义服务器,然后使用`...
本文将手把手指导您在 Ubuntu 下安装 Nginx Web 服务器,包括安装前提、Nginx 源码下载、目录结构认识、Nginx 的编译和安装、Nginx 的启动和简单使用。 安装前提 在安装 Nginx 之前,您需要满足以下条件: 1. ...
《Nginx HTTP服务器》这本书深入探讨了Nginx这一高效、轻量级的Web服务器。Nginx以其反向代理、负载均衡和静态文件处理能力而闻名,被广泛应用于高性能网站架构中。以下是该书可能涉及的知识点,以及与之相关的IT...
这里主要涉及三个关键知识点:Java FTP客户端编程、Nginx服务器配置以及Java与Nginx之间的交互。 首先,Java FTP客户端编程是通过Java的`java.net`和`org.apache.commons.net.ftp`库来实现的。Apache Commons Net库...
### Nginx服务器的安装与配置 #### 一、Nginx简介 Nginx是一款高性能的HTTP和反向代理Web服务器,同时也提供了IMAP/POP3/SMTP服务。它以其稳定性、丰富的功能集、简单的配置文件和低资源消耗而闻名。Nginx是由Igor...
Nginx是一款高性能的Web服务器,它以其反向代理、负载均衡、静态文件处理和高效非阻塞I/O模型而闻名。Nginx的设计理念是轻量级、高并发,因此在处理高流量网站时表现出色。以下是Nginx的一些核心知识点: 1. **模块...
标题中提到的“使用Tomcat或Nginx搭建视频服务器”涉及到两个Web服务器软件:Apache Tomcat和Nginx。Apache Tomcat是一个开源的Web服务器和Servlet容器,主要用来运行Java Servlet和JavaServer Pages (JSP)。而Nginx...
nginx-1.0.4 nginx nginx最新版 全能服务器 代理服务器 http://www.bywei.cn/blog 程序员百味 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 ...
nginx图片服务器配置和https配置
**Nginx服务器详解** Nginx是一款高性能的HTTP和反向代理服务器,同时也是一款邮件代理服务器。它以其稳定性高、内存占用少、处理静态文件速度快等特性在Web服务器领域广泛应用。Nginx的设计目标是高并发、低内存...
### Nginx 搭建文件服务器:上传与获取文件 在互联网技术中,Nginx 被广泛用于构建高性能、稳定的Web服务器环境。本文将详细介绍如何利用 OpenResty + Nginx + Lua 实现一个文件服务器,该服务器支持文件上传与获取...
1. 下载解压`nginx-1.9.7`压缩包。 2. 配置`nginx.conf`,这是Nginx的主要配置文件,定义了服务器的行为、监听端口、虚拟主机等信息。 3. 将`nginx.exe`作为服务启动,可以使用`nginx -install`命令进行安装,以便在...