zoukankan      html  css  js  c++  java
  • Nginx Location

    location是nginx配置中一个指令,用于访问URL配置,而在这个location中所配置的每个指令将启动不同的模块去完成相应工作。

    默认nginx.conf 中至少有一个location /,即表示客户端浏览器请求的URL为域名+/,常见方式如下:

    =                         字面精确匹配;
    ^~                         最大前缀匹配;
    /                         不带任何前缀:最大前缀匹配;
    ~                         大小写相关的正则匹配;
    ~*                        大小写无关的正则匹配;
    @                        location内部重定向的变量。

    Location = 精确匹配会被第一个处理,如果发现精确匹配,Nginx则停止搜索其他任何Location的匹配

    ^~为最大前缀匹配,如果匹配到该规则,Nginx则停止搜索其他任何location的匹配,否则Nginx会继续处理其他location指令

    Location规则优先级如果:

    (location =)>(location 完整路径)>(location ^~ 路径)>(location ~|~*) >(location 部分起始路劲)>(location /)

    如下为Nginx Location规则案例

    location  = / {
      [ configuration  L1 ] 
      #只会匹配/,优先级比Location /低。
    }
    location  = /index.html {
      [ configuration  L2 ]  
    #只会匹配/index.html,优先级最高。
    }
    location  / {
      [ configuration L3 ] 
      #匹配任何请求,因为所有请求都是以"/"开始;
      #但是更长字符匹配或者正则表达式匹配会优先匹配,优先级最低。
    }
    location = /images/ {
      [ configuration L4 ] 
      #匹配任何以/images/开始的请求,并停止匹配其它location;
    }
    location ~* .(html|txt|gif|jpg|jpeg)$ { 
      [ configuration L5] 
      # 匹配以html、txt、gif、jpg、jpeg结尾的URL文件请求; 
      # 但是所有/images/目录的请求将由 [Configuration L4]处理。
    }
    浏览器发起HTTP Request URI案例与Location规则案例匹配如下:
        / ->匹配configuration L3;
        /index.html匹配configuration L2;
        /images/匹配configuration L4;
        /images/logo.png匹配configuration L4;
        /img/test.jpg匹配configuration L5。

    常见添加如下:

    location /
    {
        root /var/www/html/;
        expires      60d;
    }
    location ~ .*.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
    {
        root /var/www/html/;
        expires      60d;      
    }
    location ~ .*.(jsp|php|cgi|do)$
    {
        root /var/www/html/;
        proxy_pass http://linux_web;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_set_header Host  $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    
    }
    location =/newindex.html
    {
        root /var/www/newwww/;
        expires      60d;
    }
  • 相关阅读:
    10 个迅速提升你 Git 水平的提示
    GitLab-CI与GitLab-Runner
    WEB应用安全解决方案测试验证
    sparse representation 与sparse coding 的区别的观点
    The Ph.D. Grind
    Potential Pythonic Pitfalls
    Overfitting & Regularization
    LVM的一般操作过程
    你跟大牛之间仅仅差一个google
    Hadoop伪分布式模式部署
  • 原文地址:https://www.cnblogs.com/legenidongma/p/10925532.html
Copyright © 2011-2022 走看看