• Nginx常用功能(5)


    一、反向代理

    1、多域名跳转(location)
    location / {
    }
    location /admin {
    }
     
    location / {
    }
    注意;web后面的"/",如果web为文件,没问题;如果web为文件夹就必须加斜杠,不然会出错。
     

    2、rewirite(重定向)

    server {
    server_name www.test.com;
    rewirite ^/(.*)$ http://www.newtest.com/$1 permanent;
    }
    将(.*)作为正则匹配的第一个分组,$1.
    www.test.com/a/b/c.html =>www.newtest.com/a/b/c.html
     

    3.alias(别名)

    location /i {
    alias /var/www/html/images/;
    }
    请求/i/a.jpg资源时,Nginx会在服务器上查找/var/www/html/images/a.jpg。
    /i 就是/var/www/html/images/的别名,也就是 /i == /var/www/html/images/
    与root的区别是:/i会作为根目录后面的资源。如上面root中的资源请求为:/var/www/html/images/i
     

    4.location(定位)

    location = / {
    configaaaa
    }
    location / {
    configaaaa
    }
     
    location ^~ /images/ {
    configaaaa
    }
    location ~* .(gif|jpg|jpeg|swk)$ {
    configaaaa
    }
    各符号的含义:
    ~ 表示区分大小写,且匹配
    ~* 表示不区分大小写,且匹配
    !~ 表示区分大小写,且不匹配
    !~* 表示不区分大小写,且不匹配
    * 表示任意
    ^ 表示开头
    $ 表示结尾
    . 需要转义
     
     

    5、特殊

    location / {
    autoindex on; #目录列表
    }
     
    allow、deny允许和禁止某些ip
     

    6、URL重写应用

    if命令
    比如,根据请求的资源存在与否进行URL重定向。
    ~ 表示区分大小写,且匹配
    ~* 表示不区分大小写,且匹配
    !~ 表示区分大小写,且不匹配
    !~* 表示不区分大小写,且不匹配
    -f 和!-f 文件存在与否
    -d 和!-d 目录存在与否
    -e和!-e 文件或目录存在与否
    -x和!-x 文件可执行与否
    比如:
    location ~* .(gif|jpg|jpeg|swk)$ {
    if (!-f $request_filename)
    {
    root /var/www/html/img;
    }
     
    if (!-f $request_filename)
    {
    root /var/www/html/imgaes;
    }
    }
    会一次匹配,最后如果没有则会返回404错误。
     
    rewrite命令
    rewirite ^/(.*)$ http://www.newtest.com/$1 permanent;
    最后一项为标记,常用的标记有:
    last:表示完成rewrite之后搜索对应的URI或location
    break:终止
    redirect:302普通重定向
    permanent :301永久重定向
     
    set命令
    一般为变量设置值。例如:
    location / {
    proxy_pass http://127.0.0.1:8000;
    set $query $query_string;
    rewirite /aaa http://www.newtest.com/?$query;
    }
    如果$query_string=111,如果请求/aaa则会重定向到http://www.nettest.com/?age=111
     
    break命令
    匹配到后,终止匹配
  • 相关阅读:
    实现将Web页面的内容,Export To Excel的功能
    设计模式点滴
    Vista上运行VisualStudio2005,调试asp.net程序的怪问题
    《天风文章》V1.0.0使用说明
    呵呵,cnblog排名进4000了,留念一下!
    一个程序只能启动一次实现
    VS中"生成注释WEB页"的问题
    用友Cell组件使用总结
    《天风文章》 V1.1.0设计文档
    SQL 数据库的自动备份(Procedures实现)
  • 原文地址:https://www.cnblogs.com/skyflask/p/7512670.html
Copyright © 2020-2023  润新知