当无效用户试图发布大文件时,如何关闭TCP连接? 我用库+nGixWeb服务器编写了一个简单的HTTP响应C++程序。它几乎工作得很好。但我注意到fcgi的功能 int FCGX_Accept_r(FCGX_Request *request);

当无效用户试图发布大文件时,如何关闭TCP连接? 我用库+nGixWeb服务器编写了一个简单的HTTP响应C++程序。它几乎工作得很好。但我注意到fcgi的功能 int FCGX_Accept_r(FCGX_Request *request);,c++,nginx,fastcgi,C++,Nginx,Fastcgi,在所有请求传输到服务器之前不返回。问题:在文件传输完成之前,我无法分析URI中的参数:我要分析“”sid=“argument以拒绝来自无效用户的传输。允许任何人向服务器发送1GB文件都是对带宽的浪费 据我所知,当新请求启动时,web服务器总是通过FastCGI连接发送FCGI_BEGIN_请求,然后发送FCGI_参数等。因此,在用户传输所有(可能不需要且太大)数据之前,最好对某些参数的内容做出反应 此外,我还将阅读更多关于其FastCGI功能的nginx文档 更新: 试图通过HTML表单向ngi

在所有请求传输到服务器之前不返回。问题:在文件传输完成之前,我无法分析URI中的参数:我要分析“”sid=“argument以拒绝来自无效用户的传输。允许任何人向服务器发送1GB文件都是对带宽的浪费

据我所知,当新请求启动时,web服务器总是通过FastCGI连接发送FCGI_BEGIN_请求,然后发送FCGI_参数等。因此,在用户传输所有(可能不需要且太大)数据之前,最好对某些参数的内容做出反应

此外,我还将阅读更多关于其FastCGI功能的nginx文档

更新:
试图通过HTML表单向nginx发送2GB文件+嗅探nginx和fastcgi之间的交换:nginx甚至在所有2GB都到来之前都不会尝试向fastcgi应用程序发送一个字节。所以,这种行为有点正常。如果你想要我想要的功能,你应该开发自己的nginx模块或简单的web服务器。嗯…

我想你可以通过以下方式控制:

location /xxx/upload {
    access_by_lua '
        //check cookie or something can recognize the req is valid or not
    ';
    fcgi_pass XXXX;
}
检查此链接: