繁体   English   中英

在具有虚拟主机的Tomcat6上使用Grails时,重定向上的主机不正确

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM