Ich möchte eine Tomcat-Anwendung über eine reguläre Website-URL ausführen, z www.xyz.com
. Ich möchte, dass das Stammverzeichnis dieser Domäne als Basisverzeichnis für die Webanwendung fungiert, sodass jede Anforderung zu www.xyz.com/a/b/c
wird www.abc.com:8080/myApp/a/b/c
. Im Idealfall kann ich dies transparent und nur für bestimmte Webanwendungen tun.
www.abc.com:8080
sollte immer noch auf Anfragen antworten.
Was muss ich tun, um dies zu erreichen?
apache-2.2
tomcat6
Stefan Kendall
quelle
quelle
Eine einfachere Methode hierfür ist das Hinzufügen eines Virtual Host-Eintrags in Ihrer Apache-Conf-Datei. Fügen Sie normalerweise Folgendes in / etc / httpd / conf hinzu und fügen Sie am Ende des Abschnitts Virtual Host Folgendes hinzu:
Starten Sie Ihren Apache-Dienst neu und Sie sind fertig.
quelle
Sie können dazu mod_rewrite in Apache verwenden. Laden Sie mod_rewrite in Ihren Apache und fügen Sie in Ihrem vhost www.xyz.com die folgende Regel hinzu:
RewriteRule ^/(.*) http://www.abc.com:8080/myApp/$1
Dies sollte die Magie tun.
Weitere Infos zu mod_rewrite hier .
BEARBEITEN : Um den Site-Namen in den Browsern beizubehalten, verwenden Sie auch mod_proxy, indem Sie einfach ein [P] am Ende der RewriteRule anhängen:
RewriteRule ^/(.*) http://www.abc.com:8080/myApp/$1 [P]
Dadurch wird Apache gezwungen, als Proxy für diese URL zu fungieren, anstatt nur die URL neu zu schreiben.
quelle
www.xyz.com
von der Benutzerseite aus erscheint.