Wie verwenden von mod_rewrite mit Apache -> mod_jk -> tomcat-setup?

Bezug auf einige meiner früheren Fragen.

Ich habe jetzt ein setup das mir Recht gut gefällt;

Apache httpd lauscht auf port 80 akzeptieren, http-und https-verbindungen.
Mehrere Tomcat-Instanzen auf verschiedene AJP-ports.

Mod_Jk ist das senden von verschiedenen url-Anfragen auf die verschiedenen tomcat Instanzen;

www.mydomain.com/demo -> tomcat:8101
www.mydomain.com/test -> tomcat:8102
www.mydomain.com/    -> tomcat:8100

Erreicht wird dies mit der folgenden Konfiguration in httpd.conf (oder sub-Dateien enthalten);

LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info

NameVirtualHost *:80

<VirtualHost *:80>
    JkMount /demo* demoTomcat (workers.properties not shown)
    JkMount /test* testTomcat
    JkMount /* rootTomcat
</VirtualHost>

Und das funktioniert alles Super. Ich habe auch SSL-setup und läuft für https-verbindungen mit einer ähnlichen VirtualHost-tag;

<VirtualHost _default_:443>
    JkMount /demo* demoTomcat 
    JkMount /test* testTomcat
    JkMount /* rootTomcat
... SSL Stuff follows ....

Was ich jetzt bin, dass Problem ist, dass mein SSL-Zertifikat nur für www.mydomain.com und NICHT mydomain.com.

Ich habe empfohlen, um die Folgen mod_rewrite Aufrufe;

Options +FollowSymlinks
LoadModule rewrite_module modules/mod_rewrite.so
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.|$) [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [PT,L]

Ich habe diese vor und nach dem mod_jk-Regeln in die httpd.conf-Datei. Der Apache war auf den ersten beschweren sich, dass die RewriteEngine wurde ein Ungültiger Befehl, aber das ging Weg, wenn ich erinnerte mich an den LoadModule Befehl erste 🙂 Jetzt Apache neu gestartet, alles wunderbar, der server startet und nimmt Anfragen und alles funktioniert so, wie es zu verwenden ... aber das ist es ja gerade, diese mod_rewrite-Befehle erscheinen keine Wirkung haben?

Tippe ich http://mydomain.com in den browser, bekomme ich nur meine website als normal. Die url scheint nicht zu ändern zu http://www.mydomain.com und wenn ich starten, um Zugriff auf die gesicherten Bereiche, die ich bekomme Warnungen, dass mydomain.com ist NICHT gesichert, und dient mir ein cert von einer anderen website aufgerufen www.mydomain.com (warum ist das ein Problem und kann es nicht nur verwenden eine gewisse Logik zu erkennen, es ist die gleiche Website, ich weiß es nicht!).

Bin ich, platzieren die mod_rewrite-Regeln in der falschen Stelle? Ich habe gelesen, dass es funktionieren sollte, die umschreiben sollten, ändern Sie die url in www. und dann passieren, um die mod_jk Zeug für irgendetwas weiter?

InformationsquelleAutor Nick Foote | 2011-03-23

Schreibe einen Kommentar