SSE流式响应相关配置

nginx

location /sse/ {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://back-server;


       proxy_buffering off;        # 关键!关闭代理缓冲
       proxy_cache off;            # 关闭代理缓存

       proxy_http_version 1.1;     # 必须使用1.1版本以支持长连接
       proxy_set_header Connection "";
       chunked_transfer_encoding on;  # 确保分块编码开启

       gzip off;                   # 添加这一行

       proxy_read_timeout 86400s;   # 24小时,足够长
       proxy_send_timeout 86400s;
       proxy_connect_timeout 600s;
    }

k8s

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: 200M
    # SSE 核心配置(都不需要 snippet)
    nginx.ingress.kubernetes.io/proxy-buffering: "off"
    nginx.ingress.kubernetes.io/proxy-request-buffering: "off"
    nginx.ingress.kubernetes.io/proxy-http-version: "1.1"
    
    # 超时配置
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "600s"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "3600s"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "3600s"
    
    nginx.ingress.kubernetes.io/keepalive: "3600"
    nginx.ingress.kubernetes.io/upstream-keepalive-connections: "200"
    nginx.ingress.kubernetes.io/upstream-keepalive-timeout: "3600s"
  name: xxx-web
  namespace: devops
spec:
  ingressClassName: nginx
  rules:
    - host: xxx.xxx.com
      http:
        paths:
          - backend:
              service:
                name: xxx-web
                port:
                  number: 80
            path: /
            pathType: Prefix
posted @ 2026-05-28 16:30  Ranger-dev  阅读(6)  评论(0)    收藏  举报