我有一个运行两个虚拟主机的tomcat 6安装,以root身份拥有两个应用程序。不要管那个。 这是一个非常基本设置:在Tomcat6上使用Grails与虚拟主机时重定向错误的主机
server.xml中
<Engine name="Catalina" defaultHost="hostA">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="hostA" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="Invoices-0.1.war" reloadable="true" useHttpOnly="true"/>
</Host>
<Host name="hostB" appBase="webappsTwo" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="Engine-0.1.war" reloadable="true" useHttpOnly="true"/>
</Host>
</Engine>
很难使它简单得多。
我得到的问题是,无论何时在hostB上的引擎应用程序上执行重定向,它都会发送错误的URL。 当它指向http://hostB/controller/action
时,它始终指向http://hostA/Engine/controller/action
。
起初我以为这是Config.groovy和服务器URL的问题。我仔细检查过,没关系。我尝试删除配置选项,但仍然没有喜悦。 hostA上的第二个应用程序正常工作。
我也经历了代码,以确保hostA没有提到那里,但没有发现任何东西。
我迷路了,有什么建议吗?
编辑: 我试着再次设置grails.serverURL
指向正确的域,并在重定向中使用absolute:true
,但它仍然将我重定向到不正确的主机。我比以前失去了更多。