zoukankan      html  css  js  c++  java
  • Nginx配置* rewrite King

    一,重定向功能

    Rewrite是Nginx服务器提供的一个重要的功能,它可以实现URL重定向功能。

    rewrite regex replacement [flag];

    rewrite的含义:该指令是实现URL重写的指令。
    regex的含义:用于匹配URI的正则表达式。
    replacement:将regex正则匹配到的内容替换成 replacement。
    flag: flag标记。

    flag有如下值:

    last: 本条规则匹配完成后,继续向下匹配新的location URI 规则。(不常用)
    break: 本条规则匹配完成即终止,不再匹配后面的任何规则(不常用)。
    redirect: 返回302临时重定向,浏览器地址会显示跳转新的URL地址。
    permanent: 返回301永久重定向。浏览器地址会显示跳转新的URL地址。

    列如:

    rewrite ^/(.*) http://www.baidu.com/$1 permanent;

    说明:
    rewrite 为固定关键字,表示开始进行rewrite匹配规则。
    regex 为 ^/(.*)。 这是一个正则表达式,匹配完整的域名和后面的路径地址。
    replacement就是 http://www.baidu.com/11这块了,其中1是取regex部分()里面的内容。如果匹配成功后跳转到的URL。
    flag 就是 permanent,代表永久重定向的含义,即跳转到 http://www.baidu.com/$1 地址上。

    location /tv {
       rewrite ^(.*) http://s.jktv.tv/wifi/test/video/short-video/ redirect;
    }

    二,防盗链

    注:因客户端请求可以模拟referers来源,所以该方法也不是最好的解决方式

    如下基本配置,当有网络连接对以 gif、jpg、png为后缀的图片资源时候、当有以swf、flv为后缀的媒体资源时、或以 rar、zip为后缀的压缩资源发起请求时,如果检测到Referer头域中没有符合 valid_referers指令的话,那么说明不是本站的资源请求。

    location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip)$ 该配置的含义是 设置防盗链的文件类型。

    valid_referers none blocked www.xxx.com www.yyy.com *.baidu.com *.tabobao.com; 可以理解为白名单,允许文件链出的域名白名单,如果请求的资源文件不是以这些域名开头的话,就说明请求的资源文件不是该域下的请求,因此可以判断它是盗链。因此如果不是该域下的请求,就会使用 Rewrite进行重定向到 http://www.xxx.com/images/forbidden.png 这个图片,比如这张图片是一个x或其他的标识,然后其他的网站就访问不了你这个图片哦。

    server {
      listen 8080;
      server_name xxx.abc.com
      location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip)$ {
        valid_referers none blocked www.xxx.com www.yyy.com *.baidu.com  *.tabobao.com;
        if ($invalid_referer) {
          rewrite ^/ http://www.xxx.com/images/forbidden.png;
        }
      }
    }
  • 相关阅读:
    The first appliaction for "Hello World!"
    zone
    learn to study
    深入理解 Angular 2 变化监测和 ngZone
    看看吧
    生命周期钩子
    一个简单的todo
    依赖注入
    @Output()
    @Input
  • 原文地址:https://www.cnblogs.com/front-web/p/15556891.html
Copyright © 2011-2022 走看看