CentOS服务器下nginx防盗链介绍与配置
一、防盗链介绍
1.什么是防盗链
- 简单的说,就是某些不法的网站,通过在其自身网站程序里为经许可非法调用其他网站资源然后在自己的网站上显示这些调用的资源,达到了填充自身网站显示的效果,但是浪费了调用资源网站的网站流量,造成其他网站的带宽及服务压力吃紧,甚至宕机。
二、配置防盗链
1.配置三个个站点
[root@lnmp ~]# cd /application/nginx/
[root@lnmp nginx]# cat conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
use epoll;
}
http {
server_tokens off;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.liang.com;
root html/www;
index index.php index.html index.htm;
location ~ \.php$ {
root html/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
}
}
server {
listen 80;
server_name bbs.liang.com;
location / {
root html/bbs;
index index.html index.htm;
}
}
server {
listen 80;
server_name blog.liang.com;
location / {
root html/blog;
index index.html index.htm;
}
}
}
2.测试是否能访问
[root@lnmp nginx]# curl www.liang.com/index.html
https://blog.csdn.net/liang_operations/
[root@lnmp nginx]# curl bbs.liang.com
bbs
[root@lnmp nginx]# curl blog.liang.com
blog
3.模仿环境配置
3.1www.liang.com为被盗
[root@lnmp nginx]# mkdir html/www/ima
[root@lnmp nginx]# rz
rz waiting to receive.
zmodem trl+C ȡ
100% 277 KB 277 KB/s 00:00:01 0 Errors
[root@lnmp nginx]# mv timg.jpg html/www/ima/
3.2bbs.liang.com盗取www的链接
[root@lnmp nginx]# cat html/bbs/index.html
<img src="http://www.liang.com/ima/timg.jpg">
3.3访问测试
4.www配置防盗
[root@lnmp nginx]#vi conf/nginx.conf
server {
listen 80;
server_name www.liang.com;
root html/www;
index index.php index.html index.htm;
location ~ \.php$ {
root html/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
}
location ~* \.(gif|jpg|png|swf|flv|bmp)$ {
valid_referers none blocked www.liang.com;
if ($invalid_referer) {
rewrite ^/ http://blog.liang.com/ima/b.jpg;
}
}
}
######
代码详解:
第一行: location ~* \.(gif|jpg|png|swf|flv|bmp)$
其中“gif|jpg|png|swf|flv|bmp”设置防盗链文件类型,自行修改,每个后缀用“|”符号分开!
第二行: valid_referers none blocked www.liang.com;
就是白名单,允许文件链出的域名白名单,自行修改成您的域名! 可以使用子域名,域名与域名之间使用空格隔开!
第五行:rewrite ^/ http://blog.liang.com/ima/b.jpg;
这个图片是盗链返回的图片,也就是替换盗链网站所有盗链的图片。这个图片要放在没有设置防盗链的网站上,因为防盗链的作用,这个图片如果也放在防盗链网站上就会被当作防盗链显示不出来了,盗链者的网站所盗链图片会显示X符号。
这样设置差不多就可以起到防盗链作用了。
5.配置blog
[root@lnmp nginx]# ll html/blog/ima/
total 12
-rw-r--r--. 1 root root 11988 Aug 9 2018 b.jpg
6.网页测试
本文由 CentOS中文站 - 专注Linux技术 作者:centos 发表,其版权均为 CentOS中文站 - 专注Linux技术 所有,文章内容系作者个人观点,不代表 CentOS中文站 - 专注Linux技术 对观点赞同或支持。如需转载,请注明文章来源。