2013-08-03 97 views
0

我有我的Grails 2.1应用程序运行在Tomcat 7.x容器内。它被称为ROOT.war。 Nginx负责路由。这两个组件都在他们自己的Ubuntu 12.4服务器上。grails.serverURL与Nginx无法正常工作

Config.groovy中的grails.serverURL被设置为prod域www.myproddomain.com。到目前为止,一切都很完美。

如果我现在想在启动Nginx中的tomcat之前测试Grails应用程序,那么我尝试使用服务器的内部URL(如internalipofserver:8080)。这是有效的,但是由于grails.serverURL被设置为www.myproddomain.com,所以我不能点击四周,而不是重定向到www.myproddomain.com,这对测试毫无意义。

如果我现在离开grails.serverURL走,上internalipofserver预览:8080工作正常,但只要我激活这个在Tomcat nginx的是下www.myproddomain.com到达,某些资源将从internaliofserver拉: 8080。

在我看来,对于tomcat来说,会存储该网站的第一个地址,然后使用该网址。

你能提供意见吗? 谢谢。 最好的 沙利文

+0

您是否尝试在测试应用程序和生产应用程序中使用不同的环境? http://grails.org/doc/latest/guide/conf.html#environments –

+0

它适用于不同的环境,但我需要使用Prod环境进行测试。所以我需要一种方法来找出一个环境。 – sullivan

回答

0

grails.serverURL与外部网址没有任何关系(除了从grails生成的绝对链接)。你可以配置你的nginx来处理任何域,并在内部做适当的重定向。

您描述的缓存可能是由于浏览器缓存。