0

私が持っているセットアップは次のとおりです。

URL 書き換えエンジン (SERVER1) として機能する Apache サーバーが 1 台あります。

Webアプリケーション(SERVER2)を実行する2番目のサーバー(Apacheも)があります。最初にユーザーの認証を試みます。認証プロトコルの一部には、そのアプリケーション サーバーと認証サーバー間の多くのリダイレクトが含まれます。

私の問題は、認証が成功すると、認証サーバーがユーザーをアプリケーションサーバーにリダイレクトする必要があることです。これは、SERVER1 からのみ表示されます。事実上、SERVER2 は SERVER1 のパラメータに基づいて URL を再構築できる必要があります。

ほとんどの環境変数は役に立ちます。つまり、ホスト名、スクリプト名、etcc と呼ばれるページは知っていますが、呼び出しが HTTP 経由で行われたのか、HTTPS 経由で行われたのかわかりません。その情報は、SERVER1 による書き換えプロセスで消去されます...

環境変数を介してその情報を取得できるかどうか、またはその方法を知っている人はいますか? クエリ文字列パラメーターを使用できないという制限があります...

皆さんありがとう !

4

1 に答える 1

1

これは奇妙に聞こえるかもしれませんが、私の質問に対する答えの一部を見つけました。

書き換えエンジン (少なくとも Apache 2 では、他の場所は調べていません) により、追加の要求ヘッダーを書き込むことができます。

ルールは次のようになります。

RewriteRule .* - [E=INFO_PATH_INFO:%{PATH_INFO},NE]

簡単に言うと、INFO_PATH_INFO という新しいヘッダーを作成し、値を PATH_INFO に設定します。(詳細については、http://www.askapache.com/htaccess/crazy-advanced-mod_rewrite-tutorial.html をご覧ください)

その後、任意の言語で取得できます。情報については、デフォルトの環境変数がいくつかに制限されており、追加の変数をdads.confで指定する必要があるという事実により、複雑なレイヤーを追加するOracleのOWAを使用しています

これが誰にも役立つことを願っています!

于 2010-10-08T10:41:38.597 に答える