|NO.Z.00353|——————————|CloudNative|——|KuberNetes&运维.V69|——|IngressNginx.v05|前后端分离|

一、rewrite概述
### --- rewrite概述

~~~     # 官方地址:
~~~     https://kubernetes.github.io/ingress-nginx/examples/rewrite/
二、rewrite使用说明:
### --- 在这个入口定义中,捕获的任何字符(.*)都将分配给占位符$2,
~~~     然后将其用作rewrite-target注释中的参数。
~~~     注:也就是说,这个服务它没有这个路径,但是还是需要把这个路径代理到这个服务上,
~~~     前后端分离
~~~     # 例如,上面的入口定义将导致以下重写:

rewrite.bar.com/something       // 改写为           rewrite.bar.com/
rewrite.bar.com/something/      // 改写为           rewrite.bar.com/
rewrite.bar.com/something/new   // 改写为           rewrite.bar.com/new
三、前后端分离
### --- 前后端分离

~~~     www.a.com    /        ————>前端服务     nginx
~~~     www.a.com    /        ————>后端服务     /api        www.a.com/api——>后端,            www.a.com/api——>api  www.a.com 
~~~     根是到前端 
~~~     根下API是到后端
~~~     但是后端的API是没有这个API路劲的
~~~     就需要把/API转换成后端的/根
四、准备环境:
### --- 准备环境:

~~~     使用redirect环境配置
~~~     删除Ingress:annotations下的重定向百度和状态码:308
~~~     更改域名为rewrite.test.com
五、访问rewrite.test.com:没有任何重定向
六、使用rewrite实现前后端分离
### --- 使用rewrite实现前后端分离

~~~     若是访问http://rewrite.test.com/abc    
~~~     根地址为abc,没有abc根路径,我们需要访问ABC的根路径,配置策略
七、配置域名前后端分离Ingress配置:Addotations
### --- 创建配置文件ginx-ingress-redirec

[root@k8s-master01 rewrite]# vim nginx-ingress-redirect-demo.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
  generation: 4
  name: ingress-test
  namespace: ratel-test1
spec:
  rules:
  - host: rewrite.test.com
    http:
      paths:
      - backend:
          serviceName: ingress-test
          servicePort: 80
        path: /something(/|$)(.*)
~~~     # 注:

    nginx.ingress.kubernetes.io/rewrite-target: /$2  // 注:把something后面的参数取值转成/$2根下的值
        path: /something(/|$)(.*)                    // 匹配根与变量结尾参数:(/|$)表示$1,(.*)表示$2
### --- 更新Ingress

[root@k8s-master01 rewrite]# kubectl replace -f nginx-ingress-redirect-demo.yaml 
ingress.extensions/ingress-test replaced
八、访问http://rewrite.test.com/something
### --- 访问http://rewrite.test.com/something

~~~     something重定向到发布目录下,本身是没有这个目录的;
~~~     实现前后端分离

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(29)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示