IIS 7 + Tomcat 7 - wie erreicht man http://localhost:8080/my_app unter zB http://my_app.local

IIS 7 + Tomcat 7 - wie erreicht man http://localhost:8080/my_app unter zB http://my_app.local

In Kürze:

IIS 7+Apache Tomcat 7+ isapi_redirect.dll:

Ich habe eine implementierte und funktionierende Tomcat-Anwendung unter verfügbar http://localhost:8080/my_app.
Ich möchte denselben Inhalt unter sehen http://my_app.local(und NICHT die Standard-Tomcat-Site [die Sie unten sehen können]).
Ich habe eingerichtet , sodass der Inhalt von isapi_redirect.dllderzeit dem von entspricht, aber das reicht nicht, ich möchte unter zuordnen . (Ich habe in der Hosts-Datei, sodass ich bereits öffnen kann , ABER jetzt wird nur die Standard-Tomcat-Site angezeigt (dieselbe wie unter verfügbar )).my_app.locallocalhost:8080localhost:8080/my_appmy_app.local127.0.0.1 my_app.localmy_app.localhttp://localhost:8080

Bitte lesen Sie, was ich bereits versucht habe:


Länger erklärt:

Ich habeIIS 7(7.5.7600.16385) undApache Tomcat/7.0.22Eingerichtet.

  1. Ich habe eine Anwendung (nennen wir sie " my_app") in Tomcat bereitgestellt, die jetzt unter erreichbar ist und http://localhost:8080/my_appeinwandfrei funktioniert. Ich habe im IIS-Panel eine neue Website mit dem Pfad der bereitgestellten Tomcat-Anwendung hinzugefügt my_app, die folgendermaßen aussieht: " c:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\my_app"
  2. Ich habe den Hostnamen gebunden my_app.local.
  3. Danach konfigurierte ich isapi_redirect.dllwie folgtDas(oder Das).
  4. Wenn ich jetzt öffne http://my_app.local, wird mir die Tomcat-Standardsite (siehe unten) angezeigt, deren Inhalt mit dem unter http://localhost:8080/!! identisch ist (Das ist das Problem!!!)
  5. ABER darunter http://my_app.localmöchte ich den gleichen Inhalt sehen wie darunter http://localhost:8080/my_app.

Wie kann ich das machen? Vielen Dank im Voraus!!

meine Konfigurationsdateien:

Bildbeschreibung hier eingeben



AKTUALISIEREN

Das hier habe ich auch gefunden:http://tomcat.apache.org/connectors-doc/generic_howto/proxy.html

Fall B: Sie müssen Pfadkomponenten für alle Anfragen an die Anwendung verbergen. Hier ist das Rezept für den Fall, in dem Sie die erste Pfadkomponente /myapp verbergen möchten. Komplexere Manipulationen bleiben dem Leser als Übung überlassen. Zunächst die Lösung für den Fall von Apache httpd:

  1. Verwenden Sie mod_rewrite, um allen Anfragen /myapp hinzuzufügen, bevor Sie sie an das Backend weiterleiten: [...]
  2. Verwenden Sie mod_headers, um alle HTTP-Weiterleitungen umzuschreiben, die Ihre Anwendung möglicherweise zurückgibt. [...]
  3. Verwenden Sie mod_headers erneut, um die Pfade in den Cookies neu zu schreiben, die Ihre Anwendung möglicherweise setzt. [...]

Wenn Sie Microsoft IIS verwendenAls Webserver bietet das ISAPI-Plugin eine Möglichkeit, den ersten Schritt mit einer integrierten Funktion auszuführen.Sie definieren eine Mapping-Dateifür einfache Präfixänderungen wie diese:

# Add a context prefix to all requests ...
/=/myapp/
# ... or change some prefix ...
/oldapp/=/myapp/

und trage dann den Namen der Datei in den rewrite_rule_fileEintrag der Registry bzw. deiner isapi_redirect.propertiesDatei ein. In deiner uriworkermap.propertiesDatei musst du die URLs noch so zuordnen, wie sie vor dem Umschreiben sind! [...]
Die Schritte 2 (Umschreiben von Umleitungsantworten) und 3 (Umschreiben von Cookie-Pfaden) werden nicht unterstützt.

Ich war überrascht, dass dort steht "Die Schritte 2 (Umschreiben von Umleitungsantworten) und 3 (Umschreiben von Cookie-Pfaden) werden nicht unterstützt.", ich weiß nicht, ob das noch stimmt, aber was dann? Stecke ich wieder fest?

Antwort1

Abhängig von Ihrem Ziel (leicht zu merkende URL?), ist es vielleicht in Ordnung, einfachumleitenmeine_app.local -> meine_app.local:8080/meine_app?

Dies würde nichtversteckendie Zielsite jedoch.

Richten Sie eine neue IIS-Site unter my_app.local ein und lassen Sie sieumleitenzu Ihrer :8080/my_app-App.

http://technet.microsoft.com/en-us/library/cc732930(WS.10).aspx

Antwort2

Können Sie Folgendes versuchen: http://blogs.iis.net/carlosag/archive/2010/04/01/setting-up-a-reverse-proxy-using-iis-url-rewrite-and-arr.aspx

Dies scheint das zu sein, was Sie brauchen: URL-Umschreibung und Anwendungsrouting.

verwandte Informationen