[英]Incorrect host on redirect when using Grails on Tomcat6 with virtual host
我已经安装了运行两个虚拟主机的tomcat 6,以将两个应用程序作为root。 不要管那个。 这是一个非常基本的设置:
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
http://hostB/controller/action
。
起初,我认为这是Config.groovy和服务器URL的问题。 我已经仔细检查过,没关系。 我试过删除config选项,但仍然没有任何乐趣。 hostA上的第二个应用程序运行正常。
我还仔细检查了代码,以确保此处未提及hostA,但未发现任何内容。
我迷路了,有什么建议吗?
编辑:我试图再次设置grails.serverURL
指向正确的域,并在重定向中使用absolute:true
,但它仍将我重定向到错误的主机。 我比以前失去了更多。
好吧,这经常发生。 在grails中更改设置后,我已将Web应用程序错误地部署在了Tomcat上,因此没有传播任何更改。 该死 我忘了删除webapps目录中的旧目录。 该死的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.