問題タブ [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.
apache - Apache モジュール request_rec->args は URL エンコードされたエンティティを処理できません
私の ap_hook_handler では、クエリ文字列の一部に URL エンコードされたエンティティが含まれている場合、request_rec->args で奇妙な動作が発生します。
ここに私の発見があります:
シナリオ #1: クエリ文字列の最初の 'e' をエンコードします。
結果:
r->uri: /test
r->args: "group= %mployees" (多くのスペースに注意してください)
シナリオ #2: 2 番目の「e」をエンコードします。
結果:
r->uri: /test
r->args: "group=employ 0.000000e-01s"
シナリオ #3: 最後の「e」をエンコードします。
結果:セグフォルト
パスの任意の部分 (クエリ文字列ではない) を URL エンコードすると、Apache は次のように動作します。
シナリオ #4: クエリ文字列の代わりにパスで「e」をエンコードします。
結果:
r->uri: /test (予期される)
r->args: NULL (予期される)
'args' と 'uri' で URL エンコーディングの処理が異なるのはなぜですか? 'request_rec->uri' でできるように、モジュール内で正規化されたクエリ文字列を取得するにはどうすればよいですか?
apache - Apache はカスタム ヘッダーを解析しません
Apache がカスタム ヘッダーを解析していないようです
これが tcpdump に来るものです:
ここにcustomheaderが表示されます。しかし、Apache のヘッダー パーサー フェーズをフックする関数のデバッガーで解析すると、次のようになります。
カスタムヘッダーなし
apache - Apache モジュール間でデータを共有する
Apache モジュール間でデータを共有する方法はありますか?
例:
mod_a
計算を行い、結果として何らかの数値を取得します。mod_b
は別の計算を行い、 の結果と合計する必要がありmod_a
ます。
それを行う方法は何ですか?
テーブルを介して渡そうとしましr->notes
たが、成功しませんでした。両方のモジュールからのデータはログに表示されますが、互いのデータは表示されません。
PSは、単一の要求内で処理を終了mod_b
した後に常にジョブを実行します。mod_a
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
、リクエストが渡されることですnodeX
(Cookieを使用せずに..、スティッキーのみを使用するのはURLエンコーディングです)。
たとえば、クライアントはリクエストをhttps://{{myserver}}/doc?jsessionid=node1
10 回送信します。リクエストは 10 回ごとに によって処理されhttps://localhost:5006
ます。
私は何を間違っていますか?
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 を認識しません。ヘッダーファイルがありませんか?
これを解決するのを手伝ってもらえますか?
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 ファイルを読み取ることができず、安全のためにアクセスを拒否しています
これを解決するのを手伝ってもらえますか?