Linux下nginx服务中设置盗链+设置防盗链

续我的上篇博文:https://mp.csdn.net/postedit/89556901。即本篇博文是在上篇博文修改完之后的nginx.conf文件中进行修改的。

 

一、实验环境(rhel7.3版本)

 

1selinux和firewalld状态为disabled

2各主机信息如下:

主机 ip
server1(被盗方) 172.25.83.1
server2(盗链方) 172.25.83.2

 

二、nginx服务设置盗链

 

1、先配置一个虚拟主机,并进行测试,以保证配置的虚拟主机是正确的。

[root@server2 ~]# vim /usr/local/nginx/conf/nginx.conf   #在该文件的最后,编写128-138的内容(139行的}是http模块的})
128     server {
129         listen 80;
130         server_name daolian.westos.org;
131 
132         charset utf-8;   #该行编写的目的是:防止添加中文之后,会出现乱码的现象
133 
134         location / { 
135                 root /web;
136                 index index.html;
137         }
138     }
139 }


[root@server2 ~]# mkdir /web
[root@server2 ~]# echo daolian.westos.org > /web/index.html


[root@server2 ~]# /usr/local/nginx/sbin/nginx -s reload   #修改完配置文件之后,重启nginx服务

[root@foundation83 ~]# vim /etc/hosts   #在物理机上编写本地解析文件,以确保daolian.westos.org有解析
172.25.83.2     daolian.westos.org

 

2、设置盗链:修改/web/index.html文件,使得该文件中配置有盗链图片的链接地址

[root@server1 download]# pwd
/usr/local/nginx/html/download
[root@server1 download]# ls
vim.jpg
[root@server1 download]# cp vim.jpg /web/   #在server1端将之前下载好的vim.jpg图片放到xin.westos.org的访问目录中


[root@server2 ~]# vim /web/index.html   #在server2端修改/web/index.html文件,在文件中指定盗链图片的链接地址




盗链图片

 

3、测试:

浏览器访问http://daolian.westos.org/

Linux下nginx服务中设置盗链+设置防盗链_第1张图片

 

三、nginx服务设置防盗链

 

1、在被盗方(server1端)编辑nginx.conf文件

[root@server1 ~]# vim /usr/local/nginx/conf/nginx.conf   #在该server模块中添加158-163行的设置
139     server {
140         listen 80;
141         server_name xin.westos.org bbs.westos.org;
142         #rewrite ^/(.*)$ https://xin.westos.org/$1 permanent;
143         #rewrite ^/bbs$ http://bbs.westos.org/ permanent;
144         #rewrite ^/bbs/(.*)$ http://bbs.westos.org/$1 permanent;
145         if ($host = "bbs.westos.org"){
146                 rewrite ^/(.*)$ http://xin.westos.org/bbs/$1 permanent;
147         }
148         #set_real_ip_from 172.25.83.0/24;
149         #real_ip_header X-Forwarded-For;
150         #real_ip_recursive on;
151 
152         location / {
153                 #return 200 "client real ip: $remote_addr\n";
154                 root /web;
155                 index index.html;
156         }
157 
158         location ~* \.(gif|jpg|png|jpeg)$ {
159                    root /web;
160                 valid_referers none blocked xin.westos.org;
161                 if ($invalid_referer) {
162                         return 403;
163                 }
164         }
165     }

[root@server1 ~]# /usr/local/nginx/sbin/nginx -s reload   #修改完配置文件之后,重载nginx服务

 

2、测试

浏览器访问http://daolian.westos.org/

Linux下nginx服务中设置盗链+设置防盗链_第2张图片

 

虽然防盗链配置成功了,但是,我们会发现,该web界面并不是直观明了。

 

下面,我们来配置更加直观明了的防盗链

 

1、在被盗方(server1端)编辑nginx.conf文件

[root@server1 ~]# vim /usr/local/nginx/conf/nginx.conf   #将162行注释,添加163行的内容
139     server {
140         listen 80;
141         server_name xin.westos.org bbs.westos.org;
142         #rewrite ^/(.*)$ https://xin.westos.org/$1 permanent;
143         #rewrite ^/bbs$ http://bbs.westos.org/ permanent;
144         #rewrite ^/bbs/(.*)$ http://bbs.westos.org/$1 permanent;
145         if ($host = "bbs.westos.org"){
146                 rewrite ^/(.*)$ http://xin.westos.org/bbs/$1 permanent;
147         }
148         #set_real_ip_from 172.25.83.0/24;
149         #real_ip_header X-Forwarded-For;
150         #real_ip_recursive on;
151 
152         location / {
153                 #return 200 "client real ip: $remote_addr\n";
154                 root /web;
155                 index index.html;
156         }
157 
158         location ~* \.(gif|jpg|png|jpeg)$ {
159                 root /web;
160                 valid_referers none blocked xin.westos.org;
161                 if ($invalid_referer) {
162                         #return 403;
163                         rewrite ^/ http://bbs.westos.org/daolian.jpg;
164                 }
165         }
166     }


[root@server1 ~]# /usr/local/nginx/sbin/nginx -s reload   #修改完配置文件之后,重载nginx服务

 

2、下载图片daolian.jpg,并将该图片防止/web/bbs目录下

[root@server1 ~]# ls /web/bbs/
daolian.jpg  index.html

 

3、测试

浏览器访问http://daolian.westos.org/

Linux下nginx服务中设置盗链+设置防盗链_第3张图片

你可能感兴趣的:(Linux下nginx服务中设置盗链+设置防盗链)