
簡単に言うと:
7 の+アパッチトムキャット7+ isapi_redirect.dll
:
で使用できる、デプロイ済みで動作中の Tomcat アプリケーションがありますhttp://localhost:8080/my_app
。
で同じコンテンツを確認したいと思いますhttp://my_app.local
(デフォルトの Tomcat サイトではありません [以下を参照])。
をセットアップしたのでisapi_redirect.dll
、現在my_app.local
のコンテンツは の と等しくなりますが、それだけでは不十分なので、の下にlocalhost:8080
マップしたいと思います。 ( hosts ファイルに があるため、 を既に開くことができますが、現在はデフォルトの Tomcat サイト ( で使用できるものと同じ) のみが表示されます)。localhost:8080/my_app
my_app.local
127.0.0.1 my_app.local
my_app.local
http://localhost:8080
私がすでに試したことを読んでください:
詳しい説明:
私は持っている7 の(7.5.7600.16385)とアパッチトムキャット/7.0.22インストールされました。
- Tomcat にアプリケーション (「
my_app
」と呼ぶことにします) を展開しました。このアプリケーションは現在 でアクセスできhttp://localhost:8080/my_app
、正常に動作します。展開された Tomcat のパスを使用して、IIS パネルに新しい Web サイトを追加しましたmy_app
。これは次のようになります: 「c:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\my_app
」 - ホスト名をバインドしました
my_app.local
。 - その後、私は
isapi_redirect.dll
次のように設定しましたこれ(または それ)。 - ここで、 を開くと
http://my_app.local
、 の下のコンテンツと同じデフォルトの Tomcat サイト (下記参照) が表示されますhttp://localhost:8080/
。(これが問題です!!!) - しかし、 の下に
http://my_app.local
と同じ内容を表示したいと思いますhttp://localhost:8080/my_app
。
どうすればいいでしょうか?よろしくお願いします!!
私の設定ファイル:
- isapi_redirect.プロパティ(c:\tomcat への dir ジャンクションを作成したので、これも機能します :) )
- ワーカーのプロパティ
- uriworkermap.プロパティ
- rewrites.properties (空)
アップデート
これも見つけました:http://tomcat.apache.org/connectors-doc/generic_howto/proxy.html
ケース B: アプリケーションに送信されるすべてのリクエストのパス コンポーネントを非表示にする必要があります。最初のパス コンポーネント /myapp を非表示にする場合のレシピを次に示します。より複雑な操作は読者の演習として残しておきます。まず、Apache httpd の場合のソリューションを示します。
- バックエンドに転送する前に、mod_rewrite を使用してすべてのリクエストに /myapp を追加します: [...]
- アプリケーションが返す可能性のある HTTP リダイレクトを書き換えるには、mod_headers を使用します。[...]
- アプリケーションが設定する可能性のある Cookie に含まれるパスを書き換えるには、再度 mod_headers を使用します。[...]
Microsoft IISを使用している場合Web サーバーとして、ISAPI プラグインは組み込み機能を使用して最初のステップを実行する方法を提供します。マッピングファイルを定義する次のような単純なプレフィックスの変更の場合:
# Add a context prefix to all requests ... /=/myapp/ # ... or change some prefix ... /oldapp/=/myapp/
そして、ファイル名を
rewrite_rule_file
レジストリまたはisapi_redirect.properties
ファイルのエントリに入力します。uriworkermap.properties
ファイルでは、書き換える前に URL をそのままマップする必要があります。[...]
ステップ 2 (リダイレクト応答の書き換え) または 3 (Cookie パスの書き換え) はサポートされていません。
「ステップ 2 (リダイレクト応答の書き換え) または 3 (Cookie パスの書き換え) はサポートされていません。「まだ本当かどうかは分かりませんが、その後どうなるのでしょうか?また行き詰まってしまうのでしょうか?」
答え1
目的(覚えやすいURLなど)に応じて、リダイレクトmy_app.local -> my_app.local:8080/my_app?
これは隠れるただし、ターゲットサイト。
my_app.localに新しいIISサイトを設定し、リダイレクト:8080/my_app アプリに。
http://technet.microsoft.com/en-us/library/cc732930(WS.10).aspx
答え2
これを試してみてはいかがでしょうか: http://blogs.iis.net/carlosag/archive/2010/04/01/setting-up-a-reverse-proxy-using-iis-url-rewrite-and-arr.aspx
URL 書き換えとアプリケーション ルーティングこそが、必要な機能のようです。