【发布时间】:2023-11-26 01:28:01
【问题描述】:
当客户端(我的意思是浏览器或 TCP 网关)在中间断开连接时,运行 CGI 脚本的 Apache(或 Nginx)会发生什么?
Apache/Nginx 是否记录错误? (如果有,是哪一个?在哪里?)
CGI 脚本是否发送了 SIGPIPE?
【问题讨论】:
标签: apache nginx signals cgi epipe
当客户端(我的意思是浏览器或 TCP 网关)在中间断开连接时,运行 CGI 脚本的 Apache(或 Nginx)会发生什么?
Apache/Nginx 是否记录错误? (如果有,是哪一个?在哪里?)
CGI 脚本是否发送了 SIGPIPE?
【问题讨论】:
标签: apache nginx signals cgi epipe
Apache CGI 脚本中断时没有 SIGPIPE。
用以下代码测试:
#!/usr/bin/perl
use strict;
use warnings;
$| = 1;
#$SIG{PIPE} = "IGNORE";
$SIG{PIPE} = sub {
open my $f, '>', 'log.txt';
print $f "PIPE: $ENV{SERVER_NAME}\n";
close $f;
};
print "Content-Type: text/plain\n\n";
sleep 10;
print "OK";
【讨论】: