SSE协议

 # 转发 SSE 请求
    location ~ ^/sse/ {  # 匹配以 /sse/ 开头的路径
        proxy_pass http://127.0.0.1:8000;  # 转发到ASGI 后端服务
        proxy_http_version 1.1;
        proxy_set_header Connection '';
        proxy_buffering off;  # 必须的设置 禁用缓冲,确保实时性
        proxy_read_timeout 3600s;  # 设置超时时间
    }
    
    
        
    # 转发 WebSocket 请求
    location ^~ /ws/ {
        proxy_pass http://127.0.0.1:8000;  # 转发到 ASGI 服务器
        # 保证连接不会超时
        proxy_read_timeout 300s;
        proxy_send_timeout 300s;

        # 转发 WebSocket 请求头
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # WebSocket 特有配置
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;

        # 可选: 传递 Authorization 头部,如果需要身份验证
        proxy_set_header Authorization $http_authorization;
    }

展开阅读剩余部分