Tomcat / Apache / Grails Config
|
希望有人可以提供帮助/建议,因为我对Apache / Tomcat不太熟悉。.我已经在Tomcat前面部署了grails应用程序,并在Tomcat前面安装了Apache。我有IIs设置(由其他人执行),该设置将www.xyz.com/myApp重定向到运行grails应用程序的Apache实例。在我的apache conf中,我有一个代理..
ProxyPass /myApp http://localhost:8080/myApp
ProxyPassReverse /myApp http://localhost:8080/myApp
我在tomcat server.xml中定义了一个连接器
<Connector port=\"8080\" maxHttpHeaderSize=\"8192\"
maxThreads=\"150\" minSpareThreads=\"25\" maxSpareThreads=\"75\"
enableLookups=\"false\" disableUploadTimeout=\"true\"
acceptCount=\"100\" scheme=\"https\" secure=\"true\"
clientAuth=\"false\" sslProtocol=\"TLS\"
proxyName=\"www.xyz.com\"
proxyPort=\"443\" />
这没有问题
现在,我想添加另一个应用程序,以便在IIS中为我设置了www.xyz.com/myOtherApp
与
ProxyPass /myOtherApp http://localhost:8081/anotherApp
ProxyPassReverse /myOtherApp http://localhost:8081/anotherApp
在我的Apache conf中,我添加了另一个连接器
<Connector port=\"8081\" maxHttpHeaderSize=\"8192\"
maxThreads=\"150\" minSpareThreads=\"25\" maxSpareThreads=\"75\"
enableLookups=\"false\" disableUploadTimeout=\"true\"
acceptCount=\"100\" scheme=\"https\" secure=\"true\"
clientAuth=\"false\" sslProtocol=\"TLS\"
proxyName=\"www.xyz.com\"
proxyPort=\"443\" />
当我转到www.xyz.com/myOtherApp时,我将URL呈现为(正确地认为)https://www.xyz.com/anotherApp,但出现404错误,提示“找不到对象”。
有人可以帮助我进行配置吗?是否可以在不同端口上有2个连接器
具有相同的proxyName?如我所说,我对Apache / Tomcat不熟悉,我真的很想尽快完成此操作。
谢谢
@Stefan,您好:这些应用程序确实位于同一服务器和域上,因此我取消了一种连接器定义。我现在剩下
<Server port=\"8005\" shutdown=\"SHUTDOWN\">
<Listener className=\"org.apache.catalina.core.AprLifecycleListener\" SSLEngine=\"on\" />
<Listener className=\"org.apache.catalina.core.JasperListener\" />
<Listener className=\"org.apache.catalina.mbeans.ServerLifecycleListener\" />
<Listener className=\"org.apache.catalina.mbeans.GlobalResourcesLifecycleListener\" />
<GlobalNamingResources>
<Resource name=\"UserDatabase\" auth=\"Container\"
type=\"org.apache.catalina.UserDatabase\"
description=\"User database that can be updated and saved\"
factory=\"org.apache.catalina.users.MemoryUserDatabaseFactory\"
pathname=\"conf/tomcat-users.xml\" />
</GlobalNamingResources>
<Service name=\"Catalina\">
<Connector port=\"8080\" maxHttpHeaderSize=\"8192\"
maxThreads=\"150\" minSpareThreads=\"25\" maxSpareThreads=\"75\"
enableLookups=\"false\" disableUploadTimeout=\"true\"
acceptCount=\"100\" scheme=\"https\" secure=\"true\"
clientAuth=\"false\" sslProtocol=\"TLS\"
proxyName=\"www.xyz.com\"
proxyPort=\"443\" />
<Engine name=\"Catalina\" defaultHost=\"localhost\">
<Realm className=\"org.apache.catalina.realm.UserDatabaseRealm\"
resourceName=\"UserDatabase\"/>
<Host name=\"localhost\" appBase=\"webapps\"
unpackWARs=\"true\" autoDeploy=\"true\"
xmlValidation=\"false\" xmlNamespaceAware=\"false\">
</Host>
</Engine>
</Service>
</Server>
我也打开了日志记录(JULI),但似乎没有报告任何东西。 apache错误日志只给我一个404 ..我将其保留为HTTP而不是AJP,因为我必须设置HTTPS,但我不确定这样做有多容易。因此,我在一个应用程序正常工作时遇到了同样的问题,而另一个则没有..是否可以通过HTTP运行多个grails应用程序,而不是使用ajp和虚拟主机?如果我很愚蠢,请原谅我-我没有接触过Webapps太多了,而且我似乎已经停顿了下来,因为我认为应该相对容易一些-部署!
没有找到相关结果
已邀请:
2 个回复
蓟类
到您的配置,以防止滥用代理。 如果/ myApp和/ myOtherApp驻留在同一tomcat引擎中,则两个应用程序仅需要一个连接器。除此之外,在您的设置中我看不到任何明显的错误。也许您可以发布您的tomcat \的server.xml。在配置过程中,使用
可能是一个好主意。
际恃啸称桅