当前位置:   article > 正文

Nginx的防盗链设置,避免Nginx静态资源(图片、css样式)被调用_nginx配置拦截防止静态资源被访问

nginx配置拦截防止静态资源被访问

  这里简单地记录Nginx防盗链的配置。之所以要做这个配置是因为有些内容放在内网不能公开到外网上的,用防盗链一定程度的避免被调用。配置文件如下:

  1. server {
  2. listen 80;
  3. server_name 112.97.48.237;
  4. #charset koi8-r;
  5. #access_log logs/host.access.log main;
  6. location / {
  7. root html/ryproject;
  8. index index.html index.htm;
  9. #proxy_pass http://ryproject-proxy/;
  10. #proxy_redirect off;
  11. #proxy_set_header Host $host;
  12. #proxy_set_header X-Real-IP $remote_addr;
  13. #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  14. add_header Access-Control-Allow-Origin *;
  15. }
  16. #图片和css文件
  17. location ~* \.(png|css)$ {
  18. root html/ryproject/static; #png和css样式文件的地址
  19. valid_referers ryproject-web;
  20. if ($invalid_referer){
  21. #rewrite ^/
  22. return 403;
  23. }
  24. }
  25. error_page 500 502 503 504 /50x.html;
  26. location = /50x.html {
  27. root html;
  28. }
  29. }

这里我配置了 防盗链的简单配置:

  1. #图片和css文件
  2. location ~* \.(png|css)$ {
  3. root html/ryproject/static; #被访问png和css样式文件的目录
  4. valid_referers ryproject-web;
  5. if ($invalid_referer){
  6. #rewrite ^/
  7. return 403;
  8. }
  9. }

前端配置的域名是 http://ryproject-web,访问这个网站时,里面也访问了样式(样式所在地址http://112.97.48.237/html/ryproject/static/**.css)。

这里配置的 valid_referers表示允许请求源为 ryproject-web的域名访问png和css资源(这里的域名前面不要加http://) ,valid_referers相当于一个白名单,如果是其他的访问则 $invalid_referer 条件满足 return 403状态码或者用 rewrite的资源进行替换。

其他,valid_referers 还可以配置其他的参数:

valid_referers none blocked *.nginxcn.com;

none 表示直接在地址栏输入也可以访问到(请求头没有referer。)

blocked表示被防火墙过滤标记的请求。(这个我也没验证,有哪位大佬验证了,可以说下。)

*.nginxcn.com 这种就是域名的形式,当然也可以输入ip。(ip形式请不要用 http,这个我在nginx-1.10.3版本试了,如果带有http,可能没有被识别)。

链接:Nginx防盗链配置

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号