• nginx配置反向代理规则集合


    nginx路由转发

            location语法规则

            location [=|~|~*|^~|@] /uri/ { ... }  location分为两个部分

            [=|~|~*|^~|@] 第一个部分  

               = : 表示精确匹配后面的url
               ~ : 表示正则匹配,但是区分大小写
               ~* : 正则匹配,不区分大小写
               ^~ : 表示普通字符匹配,如果该选项匹配,只匹配该选项.不匹配别的选项,一般用来匹配目录
              @ : "@" 定义一个命名的 location,使用在内部定向时,例如 error_page


               = 是精确完整匹配, 且优先级最高
              正则匹配时,如果 ~ 和 ^~ 同时匹配规则,则 ^~ 优先
               ^~ 这个不会匹配请求url中后面的路径, 如上面的 /test/hello 没有匹配上
              ^~ 不支持正则,和=相比,范围更广, hellowo 是可以被^~匹配,但是 = 不会匹配
              ~ 路径中只要包含就可以匹配,如上面的 /test/hellowo 返回了602

            /uri/ 第二个部分

                这里主要填的就是需要匹配的path路径,根据前面的符号,这里可以填写精确的path路径.也可以填正则表达式,下面则主要针对正则进行说明

                . : 匹配除换行符以外的任意字符
                ? : 重复0次或1次
                + : 重复1次或更多次
                * : 重复0次或更多次
               d :匹配数字
               ^ : 匹配字符串的开始
              $ : 匹配字符串的介绍
             {n} : 重复n次
             {n,} : 重复n次或更多次
             [c] : 匹配单个字符c
             [a-z] : 匹配a-z小写字母的任意一个
            小括号()之间匹配的内容,可以在后面通过$1来引用,$2表示的是前面第二个()里的内容.正则里面容易让人困惑的是转义特殊字符。

             

        rewrite规则

            

       地址重写和地址转发的区别

             地址重写 是为了实现地址的标准化,比如我们可以在地址栏中中输入 www.baidu.com. 我们也可以输入 www.baidu.cn. 最后都会被重写到 www.baidu.com 上.浏览器的地址栏也会显示www.baidu.com

           地址转发:它是指在网络数据传输过程中数据分组到达路由器或桥接器后,该设备通过检查分组地址并将数据转发到最近的局域网的过程

           因此地址重写和地址转发有以下不同点:

              1. 地址重写会改变浏览器中的地址,使之变成重写成浏览器最新的地址.而地址转发他是不会改变浏览器的地址的
              2. 地址重写会产生两次请求,而地址转发只会有一次请求
              3. 地址转发一般发生在同一站点项目内部,而地址重写且不受限制
              4. 地址转发的速度比地址重定向快

             

         跨域配置主要是在开发时页面域名(localhost)和接口域名(api.xxx.com)不一致导致的,通过nginx的location和proxy_pass.将指定请求代理到对应服务商,从浏览器的角度来看,请求的都是同一个域名,也就不存在跨域限制了.

        rewrite会改变浏览器中的地址 而proxy_pass不会浏览器原来的地址

              

         proxy_pass 最后不带/  出现资源访问错误

           

           proxy_pass最后带/和不带/ 是有区别的

    Nginx反向代理集成Grafana实例

           

              

             这样就把其它主机上的grafana集成到自己的web服务器上

  • 相关阅读:
    解决子元素浮动,父元素高度变小的问题
    解决子元素设置margintop,效果到父元素上的问题
    应用部署时自动推送企业微信提醒
    自定义Gradle Task实现一键批量部署Springboot应用
    springboot中@PostConstruct、CommandLineRunner、BeanPostProcessor执行顺序
    win7 关闭防火墙
    Android 4.1模拟器访问服务器接口
    Android开发教程 葵花宝典第一层 初识Android
    Android开发教程 葵花宝典第四层 控件之 Toast Spinner RadioButton
    Android开发教程 葵花宝典第三层 控件之 Button CheckBox EditText TextView
  • 原文地址:https://www.cnblogs.com/yxh168/p/13448631.html
Copyright © 2020-2023  润新知