【发布时间】:2011-06-07 04:11:32
【问题描述】:
我们目前有我们的 webapp,这是一种标准的东西,http 主页面和信息页面,但重定向到 httpS(即 SSL)以进行登录和用户操作等。
目前,我们已将所有 webapp 实例(生产、测试、演示等)部署到一个 Jetty 实例中,我们可以通过 www.ourapp.com/test 和 www.ourapp.com/demo 访问它们,显然还有 www. ourapp.com 用于生产。
这样做的问题是每次我们对一个实例进行更改时,我们都需要重新启动所有实例,这并不理想。此外,我并不特别喜欢使用 Jetty 进行生产,即使我们的应用目前的容量不是很大。
我正在尝试使用 Apache httpd 转发到 tomcat 的多个实例,每个实例托管我们应用程序的不同实例。这将让我单独关闭并重新启动每个 tomcat/app 实例。
我在各种不同的端口上设置了多个 tomcat 安装,因此它们不会相互冲突(例如 8081、8082、8083),将它们的 AJP 连接器端口设置为彼此不同(例如 8010、8011、8012)和 httpd目前监听 8090 端口,以免与当前运行在 80 端口上的生产实例冲突。
在 httpd.conf 我有诸如 ;
之类的设置JkMount /test* tomcatTest
在workers.properties 中,我有如下设置;
worker.tomcatTest.port=8010
worker.tomcatTest.host=localhost
worker.tomcatTest.type=ajp13
worker.tomcatTest.lbfactor=100
httpd 可以很好地转发到初始登录页面。当我需要访问 SSL 页面进行登录等时,就会出现问题。每个 tomcat 安装的 SSL 连接器都未注释,并且端口也不同,8444、8445、8446 等。
希望您能在这里看到我想要实现的设置。我只需要一些帮助,让非 SSL 页面链接到 SSL 页面,就像它们通常都在一个 Jetty/Tomcat 实例中并且 Apache 没有进行所有转发一样。任何指针我需要在这里做什么?
【问题讨论】: