首页 > 系统相关 >Ingress nginx配置同一个域名不同的path访问不同的service

Ingress nginx配置同一个域名不同的path访问不同的service

时间:2023-04-19 23:35:25浏览次数:29  
标签:Ingress service ingress nginx api yht com store

配置同一个域名,不同的path,访问不同的service

    # 重写URL

   # 当您访问 http://<ingress_ip>/foo/bar 时,nginx ingress controller 将把请求路由到 foo-service 的 80 端口,并将原始请求的路径 /foo/bar 重写为 /bar。    

   # nginx.ingress.kubernetes.io/rewrite-target: /

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: test-lava-mall-client-ingress
  namespace: test-app
  annotations:
    # location ^~ /store-api  使用正则匹配
    nginx.ingress.kubernetes.io/use-regex: "true"    
    nginx.ingress.kubernetes.io/server-snippet:
      location ^~ /index/common/getQandAListi {
        rewrite ^(.*)$ https://www.bb.com$1 permanent;
      }
      content_by_lua_block {
         ngx.say("<p>hello, world</p>")
      }
    nginx.ingress.kubernetes.io/configuration-snippet:
        rewrite ^/store-api/(.*)$ /$1 break;
spec:
  tls:
  - hosts:
    - a.yht.com
    secretName: yht-tls-secret
  rules:
  - host: a.yht.com
    http:
      paths:
      - path: "/"
        pathType: Prefix
        backend:
          service:
            name: test-lava-mall-client-selector-service
            port:
              number: 80
  - host: a.yht.com
    http:
      paths:
      - path: "/store-api"
        pathType: Prefix
        backend:
          service:
            name: test-store-api-selector-service
            port:
              number: 80

效果展示如下:

server {
    listen  443 ssl http2;
    server_name a.yht.com;
    
    location ^~ /index/common/getQandAListi {
        rewrite ^(.*)$ https://www.bb.com$1 permanent;
    }    

    location / {
       if (!-f $request_filename){
            proxy_pass https:/test-lava-mall-client-selector-service.yht.com;
        }
    }

    location ^~ /store-api {
        rewrite ^/store-api/(.*)$ /$1 break;
        proxy_pass http://test-store-api-selector-service.yht.com
    }

}

标签:Ingress,service,ingress,nginx,api,yht,com,store
From: https://blog.51cto.com/yht1990/6207551

相关文章

  • 部署kubernetes-dashboard顺便搞懂kubernetes中的ServiceAccount和RBAC
    "种草"kubernetes-dashboard安装部署dashboard创建用于登录面板的ServiceAccount权限控制"种草"kubernetes-dashboardKubernetesDashboard是通用的用于管理Kubernetes集群的WebUI面板kubernetes-dashboard代码库readme中对自己的介绍:KubernetesDashboardi......
  • vue项目部署后 nginx配置重定向 大文件报错问题
      删除Nginx缓存文件试试?#rm-rf/usr/local/nginx/proxy_temp  注意proxy_busy_buffers_size是proxy_buffers的两倍,proxy_temp_file_write_size也要比proxy_buffers大。  ......
  • .Net 6.0 部署Linux+Nginx +PM2教程
    今天带大家将本地.Net6.0项目部署到Linux系统中,其中有用到Nginx反向代理和PM2进程管理工具,希望本偏文章能对你有所帮助,成为你成功路上的垫脚石!背景:在.Net5.0横空出世之后,.Net已经支持夸平台了,身为一名合格的码农,你敢说你不会用Linux?哈哈哈开个玩笑,因为工作最近......
  • Debian Linux(帕拉迪)的方式:安装Linux并且部署主从nginx的步骤(自己实践过的)
    1. ./configure和make &&makeinstall分开执行,不要连起来,会报错。(其实可以不用&&,其实他们是可以分开执行的,分三步)&&是连接的意思, 2.linux安装nginx后没有sbin目录的解决方法 3.按照第二步修改后启动nginx报错的解决方法解决nginx启动报错nginx:[emerg]open(......
  • Service 中的一些写法
    1.Service中调用存储过程context.UseTransaction(()=>{//使用存储过程DbParam[]pars=newDbParam[]{DbParam.Create("@FlowID",curStep.FlowID),DbParam.Crea......
  • APISIX Ingress 如何使用 Cert Manager 管理证书
    ApacheAPISIXIngressController是一款以ApacheAPISIX作为数据面的KubernetesIngressController开源工具,目前已经更新到v1.3版本,实现了如证书管理、负载均衡、金丝雀发布等功能。长久以来,证书管理都不是一件简单的事情,虽然ApacheAPISIXIngressController支持从......
  • 【Azure 应用服务】当在Azure App Service的门户上 Log Stream 日志无输出,需要如何操
    问题描述在AzureAppService的门户上LogStream日志无输出,需要如何操作让其输出ApplicationLogs呢?如下图所示:问题解答请注意,上图中提示说:Applicationlogsareswitchedoff. YoucanturnthemonusingtheAppServiceLogsSettings.应用日志关闭,可以通过AppServiceL......
  • Nginx关于视频播放反向代理
    动机这几天为了服务器上搭建的FileBrowser播放视频浏览了一堆资料,现在基本可以做个总结了.FileBrowser是一个开源的基于Web的文件管理器,它支持在Web浏览器中访问和管理本地和远程服务器上的文件。它提供了一个简单易用的界面来上传,下载,编辑和共享文件。FileBrowser可以通过简......
  • Vue 登录login post请求 security UserDetailsService 获取参数为""
    背景原请求将数据放到params中,导致数据拼接在请求地址后面,具有高级安全隐患。请求方法:axios.request({url:'/login',method:'post',params:{username:'****',password:'****'}})出现的问题将params改成data,使数据放在请求体中,但后端自定义的U......
  • rsyslog读取应用服务器nginx日志文件并发送至日志服务器
    现将云主机上的nginx服务的日志发送到日志服务器进行归档备份,后期还会考虑对备份后的nginx日志进行ELK分析,目前因为只是简单的备份日志文件,所以我就使用rsyslog来完成日志的备份。目标:使用rsyslog服务同步nginx服务的access.log和error.log日志文件到日志服务器。说明:一台部署......