ingres nginx 反向代理常见配置(持续更新)

一、匹配到的location的关键字不传递给后端

如果想实现访问的url 匹配到的location,不携带给后端服务

类似nginx的配置如下

可以看到 proxy_pass http://chatbot_flask/; 后面是带了**"/"的,这代表反向代理给后端的upstream节点不携带"im_chat"**这个关键字.

假设我的请求是https://xxx.xxx.com/im_chat/v1/chat/create

当请求到达nginx时,nginx会将/v1/chat/create 这段url反向代理访问后端的节点

bash 复制代码
   location /im_chat {
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Port $server_port;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://chatbot_flask/;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
            proxy_connect_timeout   60s;
            proxy_send_timeout      60s;
            proxy_read_timeout      60s;
            proxy_buffering off;
    }

重点来了对应的k8s ingress nginx 的配置如下:

bash 复制代码
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: chatbot
  namespace: bmm-system
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: 100M
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "600"
    nginx.ingress.kubernetes.io/proxy-next-upstream: error timeout http_500 http_502 http_503 http_504
    nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
  ingressClassName: "ingress-xxx-ext-nginx1"
  tls:
   - hosts:
     - xxx.xxx.cn
     secretName: xxx-tls
  rules:
    - host: xxx.xxx.cn
      http:
        paths:
          - pathType: ImplementationSpecific  
            backend:
              service:
                name: chatbot
                port:
                  number: 5001
            path: /im_chat(/|$)(.*)
相关推荐
wzq11_6666 小时前
Kubernetes集群——基础篇(基础知识与搭建步骤一遍过!!!)
java·容器·kubernetes
余槐i9 小时前
将AI Agent嵌入现有Java系统时,Spring Boot 3.2的异步冲突与内存泄漏排查
人工智能·spring boot·性能优化·kubernetes·ai agent
旋生万物11 小时前
用螺旋数重写 Transformer Attention:让大模型自带“相位记忆“的 PyTorch 实现
docker·云原生·kubernetes·螺旋生成论·螺旋相位
编码如写诗12 小时前
【k8s】全新Ubuntu 26.04 使用kt 超简单安装 k8s 最新1.37.1+KubeSphere4.1.3
ubuntu·容器·kubernetes
小匠石钧知12 小时前
05_在k8s集群中安装NFS实现ReadWriteMany存储
java·容器·kubernetes·nfs·readwritemany·rwx
万博智云OneProCloud20 小时前
GPU 资源池化最佳实践:规划、调度、监控与运营的五步方法
kubernetes·算力调度·ai基础设施·gpu池化·agione·powerone
Thneonl2 天前
Flink Operator 的隐藏陷阱:容器名不是你以为的那个
安全·kubernetes
Thneonl2 天前
kubectl scale ds 是个 404:DaemonSet 没有 replicas
安全·kubernetes
AllFiles2 天前
K8s Node Exporter 异常 Write 超时排查实录
运维·后端·kubernetes
Thneonl2 天前
etcd 不只是数据库:K8s 控制面的命脉
后端·kubernetes