Linux Centos7下实现nginx防盗链部署

一、原理:

nginx 防止网站资源被盗用模块

ngx_http_referer_module

? HTTP Referer是Header的一部分,当浏览器向Web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器借此可以获得一些信息用于处理,例如防止未经允许的网站盗链图片、文件等。因此HTTP Referer头信息是可以通过程序来伪装生成的,所以通过Referer信息防盗链并非100%可靠,但是,它能够限制大部分的盗链情况.

二、防盗链配置

[[email protected] ~]# vim /etc/nginx/nginx.conf

日志格式添加"$http_referer",默认已经打开了的,不需要操作。

log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
                                ‘$status $body_bytes_sent "$http_referer" ‘
                                 ‘"$http_user_agent" "$http_x_forwarded_for"‘;

三、配置原服务器

准备两台机器,一张图片
1、在网站发布目录下编辑html文件并准备一张图片名为33.jpg,这里网站发布目录为/web1

vim /web1/index.html
<html>
        <head>
        <meta charset="utf-8">
        <title>hostphoto.com</title>
</head>
<body>
    <center><img src="33.jpg" alt="fangxi" width="1000px" height="900px" /></center>
</body>
</html>

2、编辑nginx子配置文件

location / {
        root   /web1;
        index  index.html index.htm;
        valid_referers none blocked 192.168.16.150;
                if ($invalid_referer) {
                   return 403;
                }
    }

? none : 允许没有http_refer的请求访问资源;
? blocked : 允许不是http://开头的,不带协议的请求访问资源---被防火墙过滤掉的;
? server_names : 只允许指定ip/域名来的请求访问资源(白名单);

3、检查配置文件是否有错误,没有错误重新加载。

nginx -t

nginx -s reload

四、配置要盗用的服务器

1、配置nginx访问页面并创建目录

location / {
        root   /web1;
        index  index.html index.htm;
    }
mkdir /web1

2、创建页面

vim /web1/index.html
<html>
<body style="background-color:red;">
    <img src="http://192.168.16.150/33.jpg" />
</body>
</html>

五、测试

当开启防盗链时,访问要盗用的服务器,图片显示不出来。

当把防盗链代码注释之后,访问要盗用的服务器,图片就可以显示出来。

原文地址:https://blog.51cto.com/14482279/2436555

时间: 2024-08-28 20:35:26

Linux Centos7下实现nginx防盗链部署的相关文章

centos7下采用Nginx+uwsgi来部署django

之前写过采用Apache和mod_wsgi部署django,因为项目需要,并且想比较一下Nginx和Apache的性能,尝试采用Nginx+uwsgi的模式来部署django. 1.安装uwsgi以及Nginx 1 pip install uwsgi --目前的版本为2.0.15 2 yum install epel-release 3 yum install nginx* --目前的版本为1.10.2 2.测试 1 # test.py 2 def application(env, start_

Linux centos VMware Nginx防盗链、Nginx访问控制、Nginx解析php相关配置、Nginx代理

一.Nginx防盗链 配置如下,可以和上面的配置结合起来 location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.test.com ; if ($invalid_referer) { return 403; } access_log off; } 二.Nginx访问控制 需求:访问/adm

Nginx防盗链配置实例——从盗链模拟到防盗链设置流程细解

Nginx防盗链设置 ? 对于图片来说,A网站,如果想使用B网站的图片,可以直接写上B网站图片的链接地址,或者将B网站的图片通过右键另存为的方式下载到本地,然后在页面上使用.如果B网站不想A网站这么干了,那么B网站可以采取防盗链的措施来干这个工作,结果就是,A网站想请求所需要的资源,通过url的方式,获取的可能不是原来的图片了,出现404或者别的图片替代了.如果通过浏览器直接打开图片url,那么仍然有可能显示404,这就是防盗链. ? 下面我们先进行盗链的操作过程:就是如何做盗链网站--盗取别人

又一篇Centos7下的asp.net core部署教程

原文:又一篇Centos7下的asp.net core部署教程 历程2个多月的学习,我终于从PHP转.Net开发了. 虽然网上已经有很多关于asp.net core在linux下的部署教程了,但我还是想写一篇,主要增强我自己的记忆. 搭建的环境为Centos7 + .net core  + nginx + mysql5.7,我的网站是asp.net core后端,vue前端,数据据mysql: 第一次搭建时遇到不少的坑,我会在下面也说到 前提,你有一台可以联网,有root账号密码,有开通ssh的

Nginx防盗链和FPM模块优化

配置nginx实现防盗链在企业网站服务中,一般都要配置防盗链功能,以避免网站内容被非法盗用,造成经济损失nginx防盗链功能也非常强大.默认情况下,只需要进行简单的配置,即可实现放到链处理实验环境一台nginx服务器,一台测试客户机,一台盗链机实验过程1.nginx服务器上部署nginx服务详细部署过程请查看:https://blog.51cto.com/14557905/2460945nginx部署成功!2.配置盗链机创建盗链机的网页除非用本地的域名去访问如果匹配的是无效的,否则就跳转一个er

Nginx防盗链、Nginx访问控制、Nginx解析php相关配置、Nginx代理

Nginx防盗链 1.[[email protected] test.com]# vi /usr/local/nginx/conf/vhost/test.com.conf #+表示1或者多个,+前面的字符 location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names  *.test.com ; #定

LNMP(nginx防盗链,访问控制,解析php相关配置,Nginx代理,常见502问题)

一.nginx防盗链 nginx防盗链: [[email protected] ~]# vim /usr/local/nginx/conf/vhost/test.com.conf   添加以下内容 location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names  *.test.com ;      

12.13 Nginx防盗链;12.14 Nginx访问控制;12.15 Nginx解析php相关配

扩展: 502问题汇总  : http://ask.apelearn.com/question/9109 location优先级 : http://blog.lishiming.net/?p=100 12.13 Nginx防盗链 设定目录访问受限: 1. 配置test.com网站目录的防盗链,编辑虚拟主机配置文件 : [[email protected] ~]# vim /usr/local/nginx/conf/vhost/test.com.conf 插入黄框内容(注释掉红框行): locat

Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理

12.13 Nginx防盗链cd /usr/local/nginx/conf/vhostvi test.com.conf将以上内容复制到下图位置测试,成功前提data/wwwroot/test.com目录下要有1.gif12.14 Nginx访问控制cd /usr/local/nginx/conf/vhostvi test.com.confFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=" alt="Nginx