点击下方关注我,然后右上角点击...“设为星标”,就能第一时间收到更新推送啦~~~
Nginx防盗链是一种安全机制,用于防止其他网站直接链接到你的网站上的资源(如图片、视频、文件等),从而避免不必要的带宽消耗和潜在的安全风险。当其他网站直接链接到你的资源时,这些请求会经过你的服务器,消耗你的带宽资源,并可能暴露你的服务器信息。通过配置Nginx防盗链,你可以限制只有来自特定域名的请求才能访问你的资源。
1
防盗链演示
防盗链就是指别人的网站不可以访问我们自己网站的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模拟自己的网站。