2011-12-08 15 views
1

私はVCLファイルにインラインCを書いています。具体的には、MaxmindのGeoIPデータベースを使用して訪問者のIPをジオコードします。私はすべてがインストールされている、私はGeoIPデータベースのすべてのwikiの例を追ってきて、すべてがうまく動作します。VCLファイルをデバッグする最善の方法は何ですか?

私は現在、帰国の例の他にGeoIPでいくつかの魔法をしようとしています。私はGeoIP_record_by_addr()メソッドを使って訪問者の都市を返したい。これはポインタを返す。

問題:GeoIPRecord *をchar *に正しくキャストできないようです。私は数時間試しました。私はVarnishにエラーや注意を払わずにVCLファイルをコンパイルしますが、ワニスサーバは403で応答します。

質問:とにかく、インラインCまたは403ワニスが応答していますか?

答えて

3

一般的に、Firebugとvarnishlogはあなたの親友です。

純粋なVCLをデバッグする場合は、HTTPヘッダー([req/bereq/beresp/resp] .http。[header name])にデータを送信し、その値をFirebugにチェックするかご要望はほとんどありません)。

インラインCをデバッグする場合は、ヘッダー(VRT_SetHdr())を使用して再生することもできますが、Cコードでワニスがクラッシュした場合は、/ var/log/messagesに理由が表示されます。 ...

ます。また...ニスがクラッシュしたかどうかを確認するためにvarnishlogを確認することができますが、時にニスがクラッシュし、あなたがタイムアウトではなく、403を取得し、私はあなたが403を取得する理由を理解するために、あなたのVCLを参照する必要があると思いますが、技術的には、それは「エラー」ではなく、あなたの要求がワニスによって処理されたことを意味する「ステータス」です(そして、残念ながら、幾分か禁止されています)。

あなたは彼にそれを依頼する場合を除き、ワニスは403を返すとは思わない。したがって、403ステータスがあなたのWebサーバー(バックエンド)から来る大きなチャンスがあります。

とにかく、ニスはクラッシュしていないと思われますが、動作上の問題があります。

+0

返信いただきありがとうございます。それは多くの助けとなり、私はインラインCブロックのいくつかの問題を取り除くことができました。 今、私はGeoIPCityライブラリに問題があります。私はここに新しい質問を作成します:http://stackoverflow.com/questions/8659331/where-can-i-find-help-for-my-varnish-default-vcl-file –

関連する問題