Nginx location匹配规则

栏目: 服务器 · Nginx · 发布时间: 7年前

内容简介:以下列配置为例

以下列配置为例

server {
    listen       80;
    server_name  jouypub.com;

    location ^~ /. {
        return 404;
    }
    location ^~ /api {
        proxy_pass http://localhost:8000;
    }
    location / {
        root /services/apps/front/;
    }
}

location语法规则: location [=|~|~*|^~] /uri/ { … }

= 开头表示精确匹配

^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可

~ 表示区分大小写的正则匹配

~* 表示不区分大小写的正则匹配

!~ 和 !~* 分别为区分大小写不匹配及不区分大小写不匹配 的正则

/ 通用匹配,任何请求都会匹配到。

如果匹配规则以 ^ 开头,就是匹配以指定字符串开头的路径,如果没有就是匹配url中的内容是否包含指定字符串

如果匹配规则以 $ 结尾,就是匹配以指定字符串结尾的路径

多个location配置的情况下匹配顺序为(当有匹配成功时候,停止匹配,按当前匹配规则处理请求):

=
^~
/

举例

1、必选规则

location / {
    root /services/apps/front/;
}

2、匹配静态资源

location ^~ /static/ {
    root /services/apps/front/static;
}
location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {
    root /webroot/res/;
}

3、防盗链

location ~* \.(gif|jpg|swf)$ {
    valid_referers none blocked jouypub.com files.jouypub.com;
    if ($invalid_referer) {
        rewrite ^/ http://$host/logo.png;
    }
}

jouypub.com、files.jouypub.com是运行出现的白名单

4、根据文件类型设置过期时间

location ~* \.(js|css|jpg|jpeg|gif|png|swf)$ {
    if (-f $request_filename) {
        expires 1h;
        break;
    }
}

5、禁止访问某个目录

location ~* \.(txt|doc)${
    root /services/apps/front/doc;
    deny all;
}

location中的 / 结尾和非 / 结尾

location ^~ /api {
    proxy_pass http://localhost:8000;
}
location ^~ /api {
    proxy_pass http://localhost:8000/;
}

访问路径 http://www.jouypub.com/api/a.html ,

规则1会被转发到: http://localhost:8000/api/a.html

规则2会被转发到: http://localhost:8000/a.html

欢迎订阅「K叔区块链」 - 专注于区块链技术学习

Nginx location匹配规则

博客地址: http://www.jouypub.com

简书主页: https://www.jianshu.com/u/756c9c8ae984

segmentfault主页: https://segmentfault.com/blog/jouypub

腾讯云主页: https://cloud.tencent.com/developer/column/72548

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

UML用户指南

UML用户指南

[美] Grady Booch、James Rumbaugh、Ivar Jacobson / 邵维忠、麻志毅、马浩海、刘辉 / 人民邮电出版社 / 2006-6 / 49.00元

《UML用户指南》(第2版)是UML方面最权威的一本著作,三位作者是面向对象方法最早的倡导者,是UML的创始人。本版涵盖了UML 2.0。书中为具体的UML特征提供了参考,描述了一个使用UML进行开发的过程,旨在让读者掌握UML的术语、规则和语言特点,以及如何有效地使用这种语言,知道如何应用UML去解决一些常见的建模问题。《UML用户指南》(第2版)由7个部分组成,而且每章都描述了一个特定UML特......一起来看看 《UML用户指南》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

随机密码生成器
随机密码生成器

多种字符组合密码

URL 编码/解码
URL 编码/解码

URL 编码/解码