nginx 反向代理 - 在传递给后端服务器之前响应 200 ok

Niv*_*hal 8 reverse-proxy http nginx

我已经成功地设置了一个反向代理,它通过来自客户端的 POST 请求接收数据并将它们转发到 NodeJS 服务器以进行进一步处理和存储。

现在我希望 nginx 反向代理在转发到 nodeJS 服务器之前为所有这些请求返回 200 OK 空白响应。因此客户端将立即收到响应,而无需等待后端服务器完成处理。如果我使用“返回 202;” 在 location 指令中,nginx 反向代理会立即响应,但不会将请求转发到 NodeJS 服务器。

这可以用nginx实现吗?也许用LUA?任何帮助将非常感激。

这是我目前的配置:

server {
    listen 80;
    server_name test.proxy.com;
    root /home/http/root;

    location ~* /([0-5]|Heartbeat|Tracking) {
        # return 202;
        proxy_pass http://20.10.10.6:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        more_set_headers 'Access-Control-Allow-Headers: X-Requested-With' 'Access-Control-Allow-Methods: POST, GET, OPTIONS' 'Access-Control-Allow-Origin: http://cors.domain.com';
    }
}
Run Code Online (Sandbox Code Playgroud)