011.Nginx防盗链
一 盗链
1.1 盗链概述
二 防盗链
2.1 防盗链配置
2.2 环境准备
|
主机
|
域名
|
IP
|
备注
|
|
nginx01
|
good.linuxds.com
|
172.24.10.21
|
被盗方
|
|
nginx02
|
steal.uclouda.com
|
172.24.10.22
|
盗链方
|
1 172.24.10.21 good.odocker.com
2 172.24.10.22 steal.uclouda.com
3 [root@nginx0X ~]# nginx -V
4 nginx version: nginx/1.16.1
2.3 模拟盗链
1 [root@nginx01 ~]# vi /etc/nginx/conf.d/good.conf #创建模拟被盗方配置
2 server {
3 listen 80;
4 charset utf-8;
5 server_name good.linuxds.com;
6 location / {
7 root /usr/share/nginx/good;
8 index index.html;
9 access_log /var/log/nginx/good.access.log main;
10 error_log /var/log/nginx/good.error.log warn;
11 }
12 }
1 [root@nginx01 ~]# mkdir -p /usr/share/nginx/good/images
2 [root@nginx01 ~]# echo '<h1>Good</h1>' > /usr/share/nginx/good/index.html
3 [root@nginx01 ~]# ll /usr/share/nginx/good/images #上传一张测试图片
4 total 60K
5 -rw-r--r-- 1 root root 4.8K Mar 11 16:27 baidu.png
1 [root@nginx02 ~]# vi /etc/nginx/conf.d/steal.conf #创建盗链方配置
2 server {
3 listen 80;
4 charset utf-8;
5 server_name steal.uclouda.com;
6 location / {
7 root /usr/share/nginx/steal;
8 index index.html;
9 access_log /var/log/nginx/steal.access.log main;
10 error_log /var/log/nginx/steal.error.log warn;
11 }
12 }
1 [root@nginx02 ~]# mkdir -p /usr/share/nginx/steal
2 [root@nginx02 ~]# vi /usr/share/nginx/steal/index.html
3 <html>
4 <body>
5 <br>盗链图片</br>
6 <img src="http://good.linuxds.com/images/baidu.png">
7 </body>
8 </html>
1 [root@nginx01 ~]# nginx -t -c /etc/nginx/nginx.conf #检查配置文件
2 [root@nginx01 ~]# nginx -s reload #重载配置文件
3 [root@nginx02 ~]# nginx -t -c /etc/nginx/nginx.conf #检查配置文件
4 [root@nginx02 ~]# nginx -s reload #重载配置文件


2.4 防止盗链配置01
1 [root@nginx01 ~]# vi /etc/nginx/conf.d/good.conf
2 server {
3 listen 80;
4 charset utf-8;
5 server_name good.linuxds.com;
6 location / {
7 root /usr/share/nginx/good;
8 index index.html;
9 access_log /var/log/nginx/good.access.log main;
10 error_log /var/log/nginx/good.error.log warn;
11 valid_referers none blocked good.linuxds.com;
12 if ($invalid_referer) {
13 return 403;
14 }
15 }
16 }
1 [root@nginx01 ~]# nginx -t -c /etc/nginx/nginx.conf #检查配置文件
2 [root@nginx01 ~]# nginx -s reload #重载配置文件


2.5 防盗链配置02
1 [root@nginx01 ~]# vi /etc/nginx/conf.d/good.conf
2 server {
3 listen 80;
4 charset utf-8;
5 server_name good.linuxds.com;
6 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { #针对特定文件类型
7 valid_referers none blocked *.linuxds.com linuxds.com;
8 access_log /var/log/nginx/good.access.log main;
9 error_log /var/log/nginx/good.error.log warn;
10 if ($invalid_referer) {
11 rewrite ^/ https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=1767274412,1868768041&fm=26&gp=0.jpg;
12 }
13 }
14 }

011.Nginx防盗链的更多相关文章
- 六、Nginx 防盗链
盗链是指一个网站的资源(图片或附件)未经允许在其它网站提供浏览和下载.尤其热门资源的盗链,对网站带宽的消耗非常大,本文通过nginx的配置指令location来实现简单的图片和其它类型文件的防盗链. ...
- Nginx防盗链的3种方法
一:一般的防盗链如下: location ~* \.(gif|jpg|png|swf|flv)$ { valid_referers none blocked www.jzxue.com jzxue.c ...
- Nginx防盗链配置案例配置,Nginx的知识分享
防盗链的含义:网站内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容. 常常是一些名不见经传的小网站来盗取一些有实力的大网站的地址 ...
- Nginx系列二:(Nginx Rewrite 规则、Nginx 防盗链、Nginx 动静分离、Nginx+keepalived 实现高可用)
一.Nginx Rewrite 规则 1. Nginx rewrite规则 Rewrite规则含义就是某个URL重写成特定的URL(类似于Redirect),从某种意义上说为了美观或者对搜索引擎友好, ...
- nginx防盗链、nginx访问控制、nginx解析php相关配制、nginx代理
1.nginx防盗链编辑:vim /usr/local/nginx/conf/vhost/test.com.conf写入: location ~* ^.+\.(gif|jpg|png|swf|flv| ...
- nginx防盗链配置
Ps:防盗链的意义就是保证自己的版权,不免网站的流量流失,为他人做嫁衣.下面是网上看到的三种方法: 修改 /usr/local/nginx/conf/nginx.conf 这个配置文件.找到locat ...
- Nginx防盗链、访问控制、解析PHP相关配置及Nginx代理
6月11日任务 12.13 Nginx防盗链12.14 Nginx访问控制12.15 Nginx解析php相关配置12.16 Nginx代理 扩展502问题汇总 http://ask.apelearn ...
- 使用NGINX+LUA实现WAF功能 和nginx 防盗链
使用NGINX+LUA实现WAF功能 一.了解WAF 1.1 什么是WAF Web应用防护系统(也称:网站应用级入侵防御系统 .英文:Web Application Firewall,简称: WAF) ...
- Linux centos VMware Nginx防盗链、Nginx访问控制、Nginx解析php相关配置、Nginx代理
一.Nginx防盗链 配置如下,可以和上面的配置结合起来 location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|x ...
随机推荐
- phpmyadmin系列渗透思路连载(一)
当拿到phpmyadin的站点后,我一般会尝试一下几种攻击手法: 1.通过弱口令进入后台,尝试into outfile写入一句话 条件:(1)有写的权限 (2)知道web绝对路径 (3)w ...
- 深入理解 EF Core:EF Core 写入数据时发生了什么?
阅读本文大概需要 14 分钟. 原文:https://bit.ly/2C67m1C 作者:Jon P Smith 翻译:王亮 声明:我翻译技术文章不是逐句翻译的,而是根据我自己的理解来表述的.其中可能 ...
- Docker镜像命令笔记
docker安装 官方Ubuntu安装文档 获取 docker pull NAME[:TAG] docker pull registry.docker-cn.com/library/ubuntu:14 ...
- C++_继承
C++支持单继承和多继承,并提供3类继承:public.private及protected.在public继承中,每个派生类对象都是基类对象,反之基类对象却不是派生类对象.派生类成员无法直接访问基本的 ...
- Windows安装C的编译环境
对于java开发者来说安装C的编译环境不是非常熟悉,因此本文对C的安装环境进行介绍以及windows编译Redis和Zookeeper的过程.MinGW主要用于按照gcc.make等环境,cywin用 ...
- Java 重写hashCode()与equals()
为什么要重写hashCode() 和 equals() equals() 默认的Object类里面equals()方法是根据对象所在的内存来做判断的,如果两个对象引用指向的是同一个内存,则返回true ...
- android KeyEvent事件机制
package im.weiyuan.com.viewutils; import android.content.Intent; import android.os.PersistableBundle ...
- struct2面试准备
二 工作流程1.客户端浏览器发出HTTP请求.2.根据web.xml配置,该请求被FilterDispatcher接收3.根据struts.xml配置,找到需要调用的Action类和方法, 并通过Io ...
- HTTP之User-Agent大全
User-Agent 首部包含了一个特征字符串,用来让网络协议的对端来识别发起请求的用户代理软件的应用类型.操作系统.软件开发商以及版本号. 以下是一些常见的各种浏览器的User-Agent: 1) ...
- eclipse 导入下载或拷贝的java Web项目时报错 ,或者是报错Unbound classpath container: 'JRE System Library
在Problems里报错Description Resource Path Location Type Unbound classpath container: 'JRE System Library ...