IIS 7 + Tomcat 7 - たとえば http://my_app.local で http://localhost:8080/my_app にアクセスする方法

IIS 7 + Tomcat 7 - たとえば http://my_app.local で http://localhost:8080/my_app にアクセスする方法

簡単に言うと:

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_appmy_app.local127.0.0.1 my_app.localmy_app.localhttp://localhost:8080

私がすでに試したことを読んでください:


詳しい説明:

私は持っている7 の(7.5.7600.16385)とアパッチトムキャット/7.0.22インストールされました。

  1. 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
  2. ホスト名をバインドしましたmy_app.local
  3. その後、私はisapi_redirect.dll次のように設定しましたこれ(または それ)。
  4. ここで、 を開くとhttp://my_app.local、 の下のコンテンツと同じデフォルトの Tomcat サイト (下記参照) が表示されますhttp://localhost:8080/。(これが問題です!!!)
  5. しかし、 の下にhttp://my_app.localと同じ内容を表示したいと思いますhttp://localhost:8080/my_app

どうすればいいでしょうか?よろしくお願いします!!

私の設定ファイル:

ここに画像の説明を入力してください



アップデート

これも見つけました:http://tomcat.apache.org/connectors-doc/generic_howto/proxy.html

ケース B: アプリケーションに送信されるすべてのリクエストのパス コンポーネントを非表示にする必要があります。最初のパス コンポーネント /myapp を非表示にする場合のレシピを次に示します。より複雑な操作は読者の演習として残しておきます。まず、Apache httpd の場合のソリューションを示します。

  1. バックエンドに転送する前に、mod_rewrite を使用してすべてのリクエストに /myapp を追加します: [...]
  2. アプリケーションが返す可能性のある HTTP リダイレクトを書き換えるには、mod_headers を使用します。[...]
  3. アプリケーションが設定する可能性のある 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 書き換えとア​​プリケーション ルーティングこそが​​、必要な機能のようです。

関連情報