0

小さなテストケースでは再現が難しい問題がありますが、基本的な説明は次のとおりです。

  1. 私はPerlのTwiggyWebサーバーをルートとして実行しており、ポート81にバインドされています。

  2. Plack :: App :: File->(root => "/ my / directory")をデフォルトのWebアプリケーションとして使用して、/ my / directory/..から静的コンテンツを提供します。

  3. 小さいファイルの場合、これは正常に機能しますが、大きいファイル(たとえば、30kB以上)の場合、出力は400BadRequestエラーによってかなり確実に切り捨てられます。たとえば、/ my / directory / my.cssの先頭にある/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のままにするか、ポート81へのNATリダイレクトを使用して非特権ポートで実行すると、問題が解決しました。

于 2012-04-27T22:22:05.533 に答える