0

我有一个难以在较小的测试用例中重现的问题,但这里是基本描述:

  1. 我以 root 身份运行 Perl 的 Twiggy Web 服务器,绑定到端口 81。

  2. 我使用 Plack::App::File->(root => "/my/directory") 作为默认 Web 应用程序来提供来自 /my/directory/... 的静态内容

  3. 对于小文件,这可以正常工作,但对于较大的文件(例如,超过 30kB 左右),输出会被 400 Bad Request 错误相当可靠地截断。例如,我请求 /my.css,它服务于 /my/directory/my.css 的开头,但以:

    .rowH a:link, .rowH a:visited, .rowH a:hover, .rowH a:active {
        color:#0066CC;
    }
    .rowI { background-color:#99CCFF;}
    .rowN { background-color:#FDC651;}
    .rowZ { background-color: #f5f2EA; }/*F7F5de*/
    
    .disabled { backgrouHTTP/1.0 400 Bad Request
    Content-Type: text/plain
    

我希望 Twiggy 提供整个文件,而不是像上面那样截断它。

我尝试通过 Twiggy/Server.pm 查看服务文件句柄会发生什么,但我迷路了。:(

4

1 回答 1

0

我发现当我试图将权限从 root 删除到另一个用户时导致错误。将其保留为 root,或者在非特权端口上运行并通过 NAT 重定向到端口 81 解决了我的问题。

于 2012-04-27T22:22:05.533 回答