2016-03-07 42 views
0

我想在Tomcat 7服务器上运行Grails 2.5.3应用程序,在Apache后面运行(在http://valkyrien.imada.sdu.dk:80上运行的Apache)。 Tomcat是在端口8080运行和Apache虚拟主机的设置是这样的:grails中的链接和资源不包含前缀,grails.app.context不起作用

ProxyPass /gcp http://127.0.0.1:8080/ nocanon 
ProxyPassReverse /gcp http://127.0.0.1:8080/ 
ProxyPreserveHost on 

战争部署为ROOT.war Tomcat的/webapps/目录。 显示了我的grails应用程序的索引页面,但是页面上的链接和资源链接都是错误的。它们都没有以/gcp/作为前缀。

示例:在jQuery的HTML文件中的JavaScript的资产是:

<script src="/assets/jquery-8c9c0e26152ea554b3ed6c4390439134.js" type="text/javascript"></script> 

这将尝试<APACHE-URL>/assets/jquery-8c9c0e26152ea554b3ed6c4390439134.js即使该文件实际上是在提供<APACHE-URL>/gcp/assets/jquery-8c9c0e26152ea554b3ed6c4390439134.js访问js文件。这同样适用于控制器和操作的任何链接。

加入以下Config.groovy或application.properties不会改变任何东西的任意组合(如在计算器上所建议的答案):

grails.serverURL="http://valkyrien.imada.sdu.dk/gcp" 
grails.app.context = "/gcp" 

好像Grails的忽略的serverURL性能。对此为何无效的任何建议? 没有Apache运行不是一个选项。

谢谢!

回答

1

部署应用程序并不像ROOT.wargcp.war和更新的属性

...或阿帕奇更好地利用mod_jk

+0

当访问'​​/ gcp'时,作为'gcp.war'进行部署会导致空白(白色)页面。这是有和没有'Config.groovy'和'application.properties'提到的配置。 – Feller

+0

但资产位于: '/GCP/GCP /资产/自举c39cd1b8a453e91be3e945bc64eb26a9.css'等 和访问[/gcp/gcp/](http://valkyrien.imada.sdu.dk/gcp/gcp /)将导致一个404响应,并找不到“/index.gsp”。 – Feller

+0

你是否更新了'ProxyPass'和'ProxyPassReverse'到新路径?如果是 - 显示它。 –