2012-02-17 7 views
2

私はlighttpdでFastCGIを使用してC++でWebアプリケーションを作成しています。私がこれを痛い方法でやっているのは、最終製品が組み込み機器になるからです。もともと、私はFCGIモードについては知らなかった。私はすべてが基本的にレスポンダーだと思った。その後、認可機関について学びました。私は認可機関をサポートするよう努めてきました。lighttpdでのFastCGIオーソライザのサポートが壊れていますか?

Lighttpdは静的なコンテンツの前に認可者を置くのに問題はないようですが、私が別のFCGIスクリプトを保護しようとすると、私に403の禁止が与えられます。

私は多くの研究を行って、そしていくつかの結論に来ている:

  1. Lighttpd's support"Variable-VAR_NAME: value"が、その後のFCGIsに承認者から渡すためには、壊れています。最初のリンクにはパッチが付いていますが、FCGIのパッチやコンパイルは、x86とARMのために行う必要があるため、半分になります。 (私たちは現在、ちょうどので、私たちはそのようなものに対処する必要はありません商用BSPを使用している。)
  2. 最初のリンクで言語を使う承認者との動的なコンテンツを保護することができることを意味しますが、this bug reportはそう言います。もちろん、それはいつも助けてくれるstbuehlerのコメントなしに閉鎖されました。

私はLighttpd 1.4.28(デスクトップとARM)とカスタム認証(クライアントではSHA-512でパスワードハッシュ)を使用しています。 (1)このアプリケーションではTLSが不可能/不要、(2)基本的なHTTP認証が不十分、(3)lighttpdでダイジェスト認証が壊れている、(4)とにかく安全なシステムであることを意図していない代わりに、それを包むために

fastcgi.server = (
    "main.fcgi" => 
    (("mode"   => "responder", 
     "bin-path"  => "/var/fcgi/main.fcgi", 
     "socket"  => "/tmp/fcgi.sock", 
     "check-local" => "disable", 
     "max-procs" => 1 
    )), 
    "/" => 
    (("mode"   => "authorizer", 
     "bin-path"  => "/var/fcgi/auth.fcgi", 
     "socket"  => "/tmp/fcgi.sock", 
     "check-local" => "disable", 
     "max-procs" => 1, 
     "docroot"  => "/var/fcgi" 
    )) 
) 

誰も私に他のFCGIスクリプト(/バイナリ)へのアクセスを制御するためのFCGI承認者の使用に関する指針を与えることができます:ここでは

は私のlighttpd.confファイルの関連部分ですlighttpd上の静的なファイルだけですか?また、変数を渡す作業をするのもいいでしょう。これまで読んでくれてありがとう!

答えて

1

私が見たすべてのことは、FastCGI認可者がlighttpdのspecに賛成していないことを示しているようです。私がやったことは、私の通常のレスポンダーコードの中に自分の認証スキームが実装されていることです。これは私の目的にとっては問題ありませんが、より複雑なウェブサイトは実際にこのウェブサイトからの痛みを感じるかもしれません。もし誰かがこれに対してより良い答えを出したら、あなたの答えを変えることになるでしょう。

関連する問題