我有一台运行 apache2 的服务器,该服务器目前正在为一个 tomcat6 实例上的多个应用程序提供服务。这些已经配置并且可以工作,并且有一个重写规则,如下所示:
RewriteCond %{REQUEST_URI} ^/app1 [NC,OR]
RewriteCond %{REQUEST_URI} ^/app2 [NC,OR]
RewriteCond %{REQUEST_URI} ^/app3 [NC,OR]
RewriteCond %{REQUEST_URI} ^/aap4 [NC,OR]
RewriteCond %{REQUEST_URI} ^/app5 [NC,OR]
RewriteCond %{REQUEST_URI} ^/app6 [NC]
RewriteCond %{SERVER_PORT} !443
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [R,L]
然后它有 JKMounts:
JkMount /app1/*.jsp tomcat.web
JkMount /app2* tomcat.web
JkMount /app3* tomcat.web
JkMount /app6* tomcat.web
JkMount /app6* tomcat.web
JkMount /app6* tomcat.web
worker.properties 看起来像这样:
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/local/java
ps=\
worker.list=tomcat.web
# Set properties for worker 'tomcat.web' (ajp13)
worker.tomcat.web.type=ajp13
worker.tomcat.web.host=localhost
worker.tomcat.web.port=8009
worker.tomcat.web.cachesize=10
worker.tomcat.web.cache_timeout=600
worker.tomcat.web.socket_keepalive=1
worker.tomcat.web.connection_pool_size=150
worker.tomcat.web.connection_pool_minsize=75
worker.tomcat.web.connection_pool_timeout=10000
我添加了一个新的 tomcat 安装,并在那里运行了一个名为“在线”的新应用程序。所以我添加了一个新的工人,像这样(也将工人名称附加到worker.list中):
# Set properties for worker 'tomcatb.web' (ajp13)
worker.tomcatb.web.type=ajp13
worker.tomcatb.web.host=localhost
worker.tomcatb.web.port=8109
worker.tomcatb.web.cachesize=10
worker.tomcatb.web.cache_timeout=600
worker.tomcatb.web.socket_keepalive=1
worker.tomcatb.web.connection_pool_size=150
worker.tomcatb.web.connection_pool_minsize=75
worker.tomcatb.web.connection_pool_timeout=10000
然后我只是在所有其他 COND 之上添加了一个新的 COND
RewriteCond %{REQUEST_URI} ^/online [NC,OR]
和一个像这样的新 JKMount:
JkMount /online* tomcatb.web
在这里一切正常。我可以访问我的应用程序
http://MYSERVER/online
它工作正常。现在我需要能够通过访问来服务该应用程序
http://MYSERVER/
但我无法做到这一点。我一直在尝试编写这样的重写规则(删除以前的 COND,并添加这个):
RewriteCond %{REQUEST_URI} ^/online [NC,OR]
RewriteCond %{SERVER_PORT} !443
RewriteRule ^online(.*)$ / [PT,QSA,L]
但这不起作用,当我去
http://MYSERVER/
我得到错误:
Forbidden
You don't have permission to access / on this server.
有人可以为我指出如何配置 apache 以按照我需要的方式为我的应用程序提供服务的正确方向吗?