iis网站没有属性,东莞中小企业网站建设,wordpress如何查看并修改源代码,办一年宽带多少钱运维小白入门——Nginx配置防盗 什么是防盗链#xff1a;
防盗链技术主要用于防止未经授权的第三方或域名访问网站的静态资源。例如#xff0c;一个网站可能拥有独特的图片素材#xff0c;为了防止其他网站通过直接链接图片URL的方式访问这些图片#xff0c;网站管理员会采…运维小白入门——Nginx配置防盗 什么是防盗链
防盗链技术主要用于防止未经授权的第三方或域名访问网站的静态资源。例如一个网站可能拥有独特的图片素材为了防止其他网站通过直接链接图片URL的方式访问这些图片网站管理员会采用防盗链措施。这样做的原因包括保护版权、减少由于爬虫引起的服务器负载、以及避免不必要的数据流量。
nginx防盗链
防盗链基于客户端携带的referer实现referer是记录打开一个页面之前记录是从哪个页面跳转过来的标记信息如果别人只链接了自己网站的图片或某个单独的资源而不是打开整个页面这就是盗链referer就是之前的那个网站域名正常的referer信息有以下几种nginx防盗链的代码定义 定义合规的引用 valid_referers none | blocked | server_names | string ...; 拒绝不合规的引用 if ($invalid_referer) { rewrite ^/.*$ http://www.b.org/403.html }参数说明- none:请求报文没有referer首部比如用户直接在浏览器输入域名访问往web网站就是没有referer信息- blocked:请求报文由referer信息但无又有效值为空- server_names:referer首部中包含本主机及nginx监听的server_name- invalid_referer:不合规的feferer引用
nginx实现防盗链
其实在Nginx里面很容易就做到防盗链的在nginx.conf文件加入一个localtion配置项。
下面请看配置
server { listen 80; server_name dev.api.dd.com; root /Users/lidong/Desktop/wwwroot/dd_api/public; index index.php index.html index.htm; access_log /Users/lidong/wwwlogs/dev.api.dd.com_access.log; error_log /Users/lidong/wwwlogs/dev.api.dd.com_error.log; location ~ [^/]\.php(/|$) { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { valid_referers none blocked dev.api.dd.com; #### 加入如下配置限定的资源文件如果被第三方调用直接返回403 if ($invalid_referer) { return 403; } } try_files $uri $uri/ rewrite; location rewrite { rewrite ^/(.*)$ /index.php?_url/$1; }}
显示给盗链者看到的图片注意不要放到自己的域名上因为放盗链的作用那样对方是看不到的可以上传到一些支持外联的网络相册上。
当然了也可以设置某个目录防盗链只需把localtion匹配的改成一个目录就可以了比如
location /www/ { alias /www/; ### none blocked 去掉之后访问文件的路径无法直接到达 valid_referers none blocked www.qqqq.com qqqq.com; if ($invalid_referer) { return 404; }}
这样就对images这个目录设置防盗链了。
NGINX错误页面友好显示
范例1对错误代码403实行本地页面跳转命令如下
ver { listen 80; server_name www.nmtui.com; location / { root html/www; index index.html index.htm; } error_page 403 /403.html; ## 当出现403错误时会跳转到403.html页面 }# 上面的/403.html是相对于站点根目录html/www的。
范例250x页面放到本地单独目录下进行优雅显示。
# redirect server error pages to the static page /50x.htmlerror_page 500 502 503 504 /50x.html;location /50x.html { root /data0/www/html;}