防盗链就是指别人的网站不可以访问我们自己网站的js,css,图片等静态资源,第一,图片有版权,我们不希望别人引用,第二,别人引用了我们的地址,消耗的是我们网站的流量,因为很多网站买的是云服务,是按流量收费的,如果不加防盗链的限制,会提升我们的运营成本,所以一个网站最好要考虑防盗链配置。
为了做防盗链的演示,修改Tomcat1的/data/program/tomcat8/webapps/ROOT目录下的index.jsp,把Tomcat图片改成访问Nginx代理服务器里的静态图片资源,代码如下:
<img src="http://192.168.1.8/tomcat.png" alt="[tomcat logo]" />
如图:
访问Tomcat1的地址http://192.168.1.9:8080,如果没有防盗链配置,则可以访问到Nginx服务器上的静态Tomcat图标,如下:
修改/data/program/nginx/conf/userconf目录下的proxy.conf配置,通过valid_referers设置解决防盗链问问题,让除了192.168.1.8IP以外的服务器不能访问Nginx服务器上的静态资源
upstream tomcat8 {
server 192.168.1.9:8080;
server 192.168.1.10:8080;
}
server{
listen 80;
server_name localhostdomin;
location / {
proxy_pass http://tomcat8;
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET,POST,DELETE';
add_header 'Access-Control-Allow-Header' 'Content-Type,*';
}
location ~* .+\.(js|css|png|svg|ico|jpg)$ {
valid_referers none blocked 192.168.1.8;
if ($invalid_referer){
return 404;
}
root static_resource;
expires 1d;
}
}如下图:
保存配置,重启Nginx服务器,再次访问Tomcat1的地址http://192.168.1.9:8080,因为上面设置了防盗链配置,因此不能访问到Nginx服务器上的静态Tomcat图标,如下:
以上就是防盗链产生了作用,导致192.168.1.9服务器部署的应用不可以访问192.168.1.8的图片。
这里192.168.1.9模拟的是别人的网站,192.168.1.8模拟自己的网站。