2017-05-04 15 views
1

レスポンスヘッダー(リクエストヘッダーではなく)に基づいてクッキーを設定する必要があります。応答ヘッダーは、バックエンドへのSOAP呼び出しによって設定され、apacheの制御から外れています。Apache-2.2応答ヘッダーのロジックのセットクッキー

私はSetEnvIfを調べましたが、要求ヘッダーだけを調べていることを示しています。 mod_rewriteの{HTTP:parm}構成はリクエストヘッダーにのみ適用されるようです。

  • レスポンスヘッダに来

    1. リクエストは、ApacheがヘッダFooBarの
    2. Apacheの対応応答ヘッダーFooBarの値が "文字列"

    と一致した場合に設定し、クッキーを追加調査し

  • バックエンド
  • によって生成されますそこに任意のアイデア?

    答えて

    0

    looks like this can be donemod_headersですが、残念なことにApache 2.4の場合にのみ式が2.4に追加されているためです。

    Header set Set-Cookie "cookie-contents-here" "expr=%{resp:Content-Type} =~ m|application/pdf|" 
    

    2.4にアップグレードできない場合は、Apacheインストールの前にVarnish Cacheを置くことを検討してください。これは強力なHTTPプロセッサーで、簡単にレスポンスの変更を処理できます。また、キャッシングを実装してサイトのパフォーマンスを向上させることもできますが、実行したくない場合は、パススルーHTTPプロセッサとして使用できます。おそらくもっと簡単な解決法がありますが、それはうまくいくでしょう。

    Apacheとバックエンドの間にレイヤを置くこともできます(PHPスクリプトなど)。バックエンドにコールを渡して途中でヘッダを修正することができます。おそらくパフォーマンスのために素晴らしいことはありません。 Apacheをアップグレードするか、Varnish Cacheを実装する方が良いでしょう。

    Apacheのコントロールから別のバックエンドを使用している場合、Apacheをループから完全に取り出して、Varnish Cacheからバックエンドにまっすぐに行くことができます。

    アイデアが役立つことを願っています。

    +0

    私たちは今のところapache-2.2に固執しています。 IBM HTTP Server 8にバンドルされていますが、これはまだ2.2です。私はIHS 9を考えていますが、これはapache-2.4ですが、プロダクションサーバーでは時間がかかります。お返事をありがとうございます :-) – sastorsl

    関連する問題