nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链步骤(linux系统下),安装Nginx和HttpAccessKeyModule模块(参考LNMP环境搭建:

第一步:在/usr/local/src/下下载模块压缩包:

wget http://wiki.nginx.org/images/5/51/Nginx-accesskey-2.0.3.tar.gz (下载)

tar zxvf Nginx-accesskey-2.0.3.tar.gz                               (解压)

cd nginx-accesskey-2.0.3/                         (切换目录)

解压此文件后,找到nginx-accesskey-2.0.3下的config文件。

编辑此文件:替换其中的"$HTTP_ACCESSKEY_MODULE"为"ngx_http_accesskey_module"

vi config

修改结果如下:

#HTTP_MODULES="$HTTP_MODULES $HTTP_ACCESSKEY_MODULE"

HTTP_MODULES="$HTTP_MODULES ngx_http_accesskey_module"

第二步:安装nginx1.5.2,–with-***设置的是模块源码包的路径

tar zxvf nginx-1.5.2.tar.gz

cd nginx-1.5.2

./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module \

--with-http_ssl_module --with-http_realip_module --with-http_image_filter_module \

--add-module=/usr/local/src/nginx-accesskey-2.0.3/

make

make install

/usr/sbin/groupadd www

/usr/sbin/useradd -g www www

创建web根目录并修改权限,当然可以指定其他目录,只要和Nginx配置文件一致即可

mkdir -p /data0/htdocs/www

chmod +w /data0/htdocs/www

chown -R www:www /data0/htdocs/www

vi /usr/local/webserver/nginx/conf/nginx.conf

修改#user  nobody;为user www www;

修改location /{}中的root html;为网站目录例如/data0/htdocs/www

在/data0/htdocs/www目录中随便创建一个index.html文件

启动nginx并访问测试

ulimit -SHn 65535

/usr/local/webserver/nginx/sbin/nginx

其他命令:

测试nginx的配置文件是否正确/usr/local/webserver/nginx/sbin/nginx -t

修改nginx配置文件后使之生效/usr/local/webserver/nginx/sbin/nginx -s reload

查看端口确认是否启动成功    netstat -tunpl | grep 80

查看第三方模块ngx_http_accesskey_module是否添加上:/usr/local/webserver/nginx/sbin/nginx -V

第三步:修改nginx的conf文件,server{***}里边添加以下几行

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产生的下载路径格式是:http://*****.com/download/1.zip?key=

这样,当访问没有跟参数一样时,其他用户打开时,就出现:403

访问测试脚本download.php:

$ipkey= md5("mypass".$_SERVER['REMOTE_ADDR']);

//$ipkey生成的算法要跟配置文件的设置保持一致

$output_add_key="

download_add_key";

$output_org_url="download_org_path";

echo $output_add_key;

echo $output_org_url;

?>

访问第一个download_add_key链接可以正常下载,第二个链接download_org_path会返回403 Forbidden错误。

若出现不了,“访问第一个download_add_key链接可以正常下载,第二个链接download_org_path会返回403 Forbidden错误”这种结果,可查看进程:

ps aux | grep nginx

kill -9 2366

kill -9 7863

最后命令启动nginx:  /usr/local/webserver/nginx/sbin/nginx

OK完成,可以查看结果啦

Debian 为nginx增加第三方模块

为nginx增加第三方模块需要重新编译nginx的,但是debian在安装nginx的时候做了很多事情,比如systemd,/etc/nginx/里的各种文件,所以我们最好在debian源代码包的基础 ...

nginx增加第三方模块

增加第三方模块 ============================================================ 一.概述nginx文件非常小但是性能非常的高效,这方面完胜ap ...

nginx 安装第三方 模块

查看nginx在安装时开启了哪些模块 如果你nginx是rpm包安装的,直接用如下命令nginx -V 如果你是源码包编译安装,假如你的安装路径是/usr/local/nginx,那么你可以使用: / ...

在Linux系统下安装nginx教程

最近学习了nginx,就打算nginx安装在Linux系统下,于是我就把安装步骤记录下来了,分享给大家,希望能对大家有帮助! 我的博客地址:https://www.cnblogs.com/themys ...

Nginx在Windows系统和Linux系统下的重启

一.Windows系统下重启nginx 1.杀掉nginx进程 tskill nginx echo 已终止所有ginx进程      2.启动nginx cd f:\nginx-  nginx.exe ...

Linux系统下利用wget命令把整站下载做镜像网站

Linux系统下利用wget命令把整站下载做镜像网站 2011-05-28 18:13:01 | 1次阅读 | 评论:0 条 | itokit  在linux下完整的用wget命令整站采集网站做镜像 ...

redis在windows和Linux系统下的下载、安装、配置

1.下载redis安装包 在redis的官网只有Linux系统下的安装包,微软的GitHub上有提供windows版本的redis安装包 redis中文网:http://www.redis.cn/ 微 ...

linux系统下nginx安装目录和nginx.conf配置文件目录

linux系统下nginx安装目录和nginx.conf配置文件目录 1.查看nginx安装目录 输入命令 # ps  -ef | grep nginx 返回结果包含安装目录 root      26 ...

nginx安装第三方模块的方法

nginx第三方模块安装方法: ./configure --prefix=/你的安装目录 --add-module=/第三方模块目录 以安装fair模块实例 下载fair安装包并解压 1.在未安装ng ...

随机推荐

Linq专题之提高编码效率—— 第三篇 你需要知道的枚举类

众所周知,如果一个类可以被枚举,那么这个类必须要实现IEnumerable接口,而恰恰我们所有的linq都是一个继承自IEnumerable接口的匿名类, 那么问题就来了,IEnumerable使了 ...

Topcoder SRM 683 Div2 - C

树形Dp的题,根据题意建树. DP[i][0] 表示以i为根节点的树的包含i的时候的所有状态点数的总和 Dp[i][1] 表示包含i结点的状态数目 对于一个子节点v Dp[i][0] = (Dp[v] ...

postgresql 函数&存储过程 ; 递归查询

函数:http://my.oschina.net/Kenyon/blog/108303 紧接上述,补充一下: 输入/输出参数的函数demo(输入作为变量影响sql结果,输出作为结果返回) create ...

redis发布订阅

命令 : redis-cli打开一个客户端 Redis Psubscribe 命令订阅一个或多个符合给定模式的频道. 每个模式以 * 作为匹配符,比如 it* 匹配所有以 it 开头的频道( it.n ...

差之毫厘谬之千里!带你认识CPU后缀含义

intel的几代CPU中,后缀字母主要有以下几种: M:笔记本专用CPU,一般为双核,M前面一位数字是0,意味着是标准电压处理器,如果是7,则是低电压处理器. U:笔记本专用低电压CPU,一般为双核, ...

c# webBrowser控件与js的交互

转自:http://blog.csdn.net/sd2131512/article/details/7467564 [System.Runtime.InteropServices.ComVisible ...

C# 操作Excel数据透视表

一.概述 数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等,可动态地改变透视表版面布置,也可以重新安排行号.列标和页字段.当改变版面布置时,数据透视表也会按照新的 ...

redi应用-延时队列

有mq和Kafka,,一般用不上,,两个线程 ..基于Redis 的 list(列表),使用rpush/lpush操作入队列,使用lpop 和 rpop来出队列.

HTML5 离线缓存Appcache

创建一个和html同名的manifest文件,比如页面为index.html,那么可以建一个index.manifest的文件,然后给index.html的html标签添加如下属性即可:

There is no setter for property named 可能产生的原因!

There is no setter for property named 'operateIP ' in 'class com.chinaunicom.wsp.facade.entity.User ...

linux第三方模块参数,nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链步骤(linux系统下)...相关推荐

  1. linux下载文件夹到本地命令行,linux下载文件到本地命令,linux下载文件到本地命令 下载工具...

    linux下载文件到本地命令,linux下载文件到本地命令 下载工具 来源:互联网/编辑:佚名/时间:2020-09-08 在手机上看 扫一扫进入手机端 linux用户命令在哪个文件夹下 用 whic ...

  2. linux下光模块参数如何查找,光模块介绍以及常用接口参数查询

    外观结构图 (以SFP封装举例说明) 一 二 三 四 1.拉手扣 2.接收接口 3.发送接口 4.壳体 5.标签 6.防尘帽 7.裙片 8.接头 外观图(SFP/SFP+封装光模块的外观) 封装类型 ...

  3. Nginx反向代理负载均衡虚拟主机动静分离UrlRewrite防盗链

    文章目录 1. Nginx简介 1.1 Nginx背景 1.2 Nginx的优点 1.3 Nginx的功能特性及常用功能 2.Nginx安装 2.1 下载上传解压 1.2 安装 3.nginx核心概念 ...

  4. Linux 命令利用scp实现从服务器共享地址上传下载文件、文件夹实例演示,scp命令的参数详解

    传文件的话,不用参数 -r,文件夹用参数 -r 语法:scp [可选参数] 原地址 目的地址 我下面演示的是传文件: scp -r root@192.x.x.x:/data/disk/20200520 ...

  5. 【Notes8】Linux开发环境,Linux命令,vi命令,/正则,Hash,iNode,文件查找与读取,Linux开机自启动

    文章目录 1.VMware和CentOS安装:两个网络适配器是虚拟机的,Linux抄袭unix,Mac os是unix的皮肤 2.CRT安装:netstat -nal | grep 22,改注册信息要 ...

  6. linux下文件怎么改名字,Linux文件名字批量修改步骤 Linux修改文件名的方法

    在Linux环境下修改文件名可以有不同的命令方式,比如rename.mv都可以进行修改,如果用户正在了解这方面的知识,可以阅读下文了解Linux修改文件名以及批量修改文件名的方法. 对于单个的文件,可 ...

  7. linux tomcat连接mysql步骤_linux系统下tomcat的安装步骤

    1.从网上下载tomcat linux的安装包 如:apache-tomcat-7.0.79.tar.gz 2.通过Xftp 将此安装包复制到linux下的指定位置上 3. cd /usr/local ...

  8. SpringCloud工作笔记068---登录堡垒机_下载文件报错_Xshell向Linux上传下载文件_lrzsz_ZModem

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 安装zmodem,安装后xshell中,直接rz,sz命令就可以传输很方便 技术交流QQ群[JAV ...

  9. 【Nginx】Nginx实现图片防盗链

    目录 Nginx有三种方法可以进行防盗链 1.对Nginx下所有项目的指定资源不同文件类型进行防盗链 2.对指定目录或者指定项目目录进行防盗链 3.nginx 的第三方模块ngx_http_acces ...

最新文章

  1. NVIDIA FFmpeg 转码技术分析
  2. 【Linux学习笔记】 -- 基本Shell命令
  3. 应用在大规模推荐系统,Facebook提出组合embedding方法 | KDD 2020
  4. python3安装常见问题_Python3下安装spyder及常见问题解决
  5. 何时使用领域驱动设计
  6. 数据库不停机导数据方案_如何计算数据停机成本
  7. 越老越值钱,除了程序员!
  8. Android 短信开发学习
  9. java的编程规范_JAVA编程规范-OOP规范
  10. 本地Windows安装Navicat
  11. 测试5g网速的软件排行榜,2021网络测速app排行榜-手机网速测试软件推荐
  12. hdmi接口线_HDMI高清线注意事项
  13. Excle超链接图片修改默认打开方式
  14. 一百块组装可玩LOL的电脑
  15. Php微云解析,更新微云网盘解析规则
  16. 【JZOJ 4598】准备食物
  17. 渗透测试网络攻防--OSINT和被动侦察
  18. 初使用maven遇到各种问题记录
  19. 数据分析思维九段路线图
  20. 少年你骨骼精奇?AI现在可以帮你看一看了

热门文章

  1. can收发器 rx_CANOpen系列教程03 _CAN收发器功能、原理及作用
  2. lol最克制诺手的英雄_LOL:究竟有没有完美克制诺手的英雄?时光上单或可一战?...
  3. win7驱动程序未经签名可以使用吗_手把手教你解决win7系统驱动程序签名强制禁用的设置技巧...
  4. 缓存通用管理类 + 缓存 HttpContext.Current.Cache 和 HttpRuntime.Cache 的区别
  5. JDBC(Java语言连接数据库)
  6. ImportError: No module named ‘sklearn.qda‘  ImportError: No module named ‘sklearn.lda‘
  7. python zip函数转制_Python zip函数及用法
  8. 自加一运算_C语言i++、++i混合运算老手未必全掌握,看了你就明白了
  9. jaccard相似度_如何计算两个字符串之间的文本相似度?
  10. 佳能g3800故障灯说明书_佳能打印机故障如何维修 佳能打印机故障维修方法【介绍】...