問題タブ [apache-modules]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
358 参照

apache - Apache モジュール request_rec->args は URL エンコードされたエンティティを処理できません

私の ap_hook_handler では、クエリ文字列の一部に URL エンコードされたエンティティが含まれている場合、request_rec->args で奇妙な動作が発生します。

ここに私の発見があります:

シナリオ #1: クエリ文字列の最初の 'e' をエンコードします。

http://localhost/test?group=%65従業員

結果:
r->uri: /test
r->args: "group= %mployees" (多くのスペースに注意してください)

シナリオ #2: 2 番目の「e」をエンコードします。

http://localhost/test?group=employ%65es

結果:
r->uri: /test
r->args: "group=employ 0.000000e-01s"

シナリオ #3: 最後の「e」をエンコードします。

http://localhost/test?group=employe%65s

結果:セグフォルト

パスの任意の部分 (クエリ文字列ではない) を URL エンコードすると、Apache は次のように動作します。

シナリオ #4: クエリ文字列の代わりにパスで「e」をエンコードします。

http://localhost/t%65st

結果:
r->uri: /test (予期される)
r->args: NULL (予期される)

'args' と 'uri' で URL エンコーディングの処理が異なるのはなぜですか? 'request_rec->uri' でできるように、モジュール内で正規化されたクエリ文字列を取得するにはどうすればよいですか?

0 投票する
0 に答える
163 参照

apache - Apache はカスタム ヘッダーを解析しません

Apache がカスタム ヘッダーを解析していないようです

これが tcpdump に来るものです:

ここにcustomheaderが表示されます。しかし、Apache のヘッダー パーサー フェーズをフックする関数のデバッガーで解析すると、次のようになります。

カスタムヘッダーなし

0 投票する
1 に答える
77 参照

apache - Apache モジュール間でデータを共有する

Apache モジュール間でデータを共有する方法はありますか?

例:

  1. mod_a計算を行い、結果として何らかの数値を取得します。
  2. mod_bは別の計算を行い、 の結果と合計する必要がありmod_aます。

それを行う方法は何ですか?

テーブルを介して渡そうとしましr->notesたが、成功しませんでした。両方のモジュールからのデータはログに表示されますが、互いのデータは表示されません。

PSは、単一の要求内で処理を終了mod_bした後に常にジョブを実行します。mod_a

0 投票する
1 に答える
1498 参照

apache - Apache / JSESSIONID で粘着性を定義する

Apache で粘着性を定義しようとしています。proxy.conf の定義は次のとおりです。

また:

粘着性を実現するために、url クエリ パラメータを使用しようとしています (Cookie をオーバーライドすることはお勧めできないことを理解しているため)。Apacheのドキュメントに書かれているように:

スティッキーを実装する 2 つ目の方法は、URL エンコーディングです。Web サーバーは、要求の URL でクエリ パラメーターを検索します。パラメータの名前は、stickysession を使用して再度指定されます。パラメーターの値は、その値と等しいルートを持つメンバー ワーカーを検索するために使用されます。応答に含まれるすべての URL リンクを抽出して操作することは容易ではないため、通常、各リンクにパラメーターを追加する作業は、コンテンツを生成するバックエンドによって行われます。場合によっては、mod_substitute または mod_sed を使用して、Web サーバー経由でこれを実行できる場合があります。ただし、これはパフォーマンスに悪影響を及ぼす可能性があります。

郵便配達員で次の要求を 10 回送信します。

node1リクエストが (5 つのリクエスト) と (5 つのリクエスト) に渡されていることに気付きましたnode2。しかし、stickysession を定義して、 を選択node1し、毎回このノードに移動するようにします。

私の目標は、クライアントがリクエストを送信しhttps://{{myserver}}/doc?jsessionid=nodeX、リクエストが渡されることですnodeXCookieを使用せずに..、スティッキーのみを使用するのはURLエンコーディングです)。

たとえば、クライアントはリクエストをhttps://{{myserver}}/doc?jsessionid=node110 回送信します。リクエストは 10 回ごとに によって処理されhttps://localhost:5006ます。

私は何を間違っていますか?

0 投票する
1 に答える
1945 参照

c - Apache モジュールから POST パラメータを読み取る

apache c モジュールから POST パラメータを読み込もうとしています。

私が使用しているコードは次のとおりです。

Apache Web サイトから読み取り投稿機能をコピーしました: https://httpd.apache.org/docs/2.4/developer/modguide.html#snippets

モジュールをコンパイルしようとすると、次のエラーが発生します。

mod_example.c:82:9: エラー: 宣言されていない識別子 'ap_form_pair_t' の使用 ap_form_pair_t *pair = (ap_form_pair_t *) apr_array_pop(pairs);

apxs は ap_form_pair_t を認識しません。ヘッダーファイルがありませんか?

これを解決するのを手伝ってもらえますか?

0 投票する
0 に答える
132 参照

c - このサーバーの /asd にアクセスする権限がありません

Apache サーバー バージョン 2.4 を使用しています

構成中に --prefix を指定して、Apache をカスタムの場所にインストールしました。

私はmac os x mavericksを使用しています。

cで書かれたApacheモジュールを使用しています。公式サイトhttp://httpd.apache.org/docs/2.4/developer/modguide.htmlのチュートリアルに従っています

mod_example.c の下にあるモジュールをインストールしました:コードは以下のとおりです

次のようにセットハンドラーを追加しました

localhost/ にアクセスしようとすると、「It Works!」と表示されます。画面。

しかし、localhost/asd のような localhost のパスにアクセスしようとすると、次のエラーが発生します。

禁断

このサーバーの /asd にアクセスする権限がありません。サーバーは htaccess ファイルを読み取ることができず、安全のためにアクセスを拒否しています

これを解決するのを手伝ってもらえますか?