• nginx.3——local的优先级和匹配方式


    在http模块有server模块,在server模块才有location模块, location匹配的是uri

    location 匹配一旦成功,就不向下匹配

    一、location的分类:

    1.精确匹配

    location = /test 

    2.正则匹配

    location ^~ :前缀匹配,以什么为开头
    location ~ 区分大小写匹配
    location ~* 不区分大小写匹配
    location !~ 区分大小写取反匹配
    location !~* 不区分大小写取反匹配

     

    3.通用匹配

    location /test {}

    4.一般匹配

    location / {}

    5.location的优先级(由左到右)

    精确匹配---正则匹配--一般匹配
    location = 完整路径 > location^~ > location ~,~* > location/test>location /

    6、工作当中配置location的原则:

    1. 1.网站首页:都是精确匹配网站首页都是一 个静态页面。匹配网站的根工作目录
    2. location = / {
    3. }
    4. 2、处理静态文件的请求:目录匹配和后缀匹配
    5. location ^~ /static {
    6. }
    7. location ~\.{jpg|png}$ {
    8. }
    9. 3、一般规则: 动态请求,把动态请求转发的后端
    10. location / {
    11. proxy_pass http://tomcat.server;
    12. }

    nginx的重定向

    rewrite:结合nginx提供的全局变量和自定义的变量,结合正则表达式以及标志位实现usi重写以及重定向。

    rewrite执行顺序:

    1、执行server块里的rewrite
    2、执行loaction里面定义的rewrite
    3、选定location中的rewrite
    rewrite中而可以执行if语句,只有if没有else

    rewrite格式:

    rewrie[flag]
    :正则表示式
    : 跳转的内容或者路径
    [flag]: 标志位 标记
            flag:
            last:本条规则匹配完成后,继续向下匹配新的location uri规则
            break:本条规则匹配完成之后立即终止,页面内容变化,uri不变     用的比较多点
            redirect:临时重定向302 uri的地址会发生变化
            permanent:永久重定向301 uri的地址会发生变化

     

    rewrite /test/(.*) /ky32/$1 permanent;
    .*:匹配所有
    $1:表示捕获组 $1应用正则表达式的第一个捕获组
    从www.ky32.com/test/index.html 1jpg
    跳转到www.ky32.com/ky32/index.html 1.jpg
    会影响搜索引擎的权重
    永久重定向会加入搜索引擎的排名
    临时不会加搜索引擎的权重

    报错internal redirection cycle while processing这个的原因:
    处理请求时发生了重写或者内部重定向循环,进入了无限循环。nginx循环最多可以执行10次,会报错500

    总结: rewrite和locationt都可以跳转,似乎有点相似,但是区别在
    rewrite是在同一域名之内更改获取资源的路径
    location是对路径访问控制。

    基于ip跳转

    公司业务新版本上线,用户访问网站统一显示固定的维护页面只有公司的192.168.233,61可以访问。

    在vim /usr/local/nginx/conf/nginx.conf下

  • 相关阅读:
    Zebec Protocol 成非洲利比亚展会合作伙伴,并将向第三世界国家布局
    企业电子招投标系统源码之电子招投标系统建设的重点和未来趋势
    学习Android的第二十七天
    Redhat Linux(RHEL) - Primavera P6 EPPM 安装及分享
    java178-终篇?静态代理?动态代理?
    机器学习期中考试
    【数据结构和算法初阶(C语言)】空间复杂度(例题剖析一起探究空间如何评价算法)
    优雅而高效的JavaScript——高阶函数
    互联网Java工程师面试题·Java 总结篇·第七弹
    Kubeapps 安装测试
  • 原文地址:https://blog.csdn.net/qq_61843057/article/details/133867363