我想在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运行不是一个选项。
谢谢!
当访问'/ gcp'时,作为'gcp.war'进行部署会导致空白(白色)页面。这是有和没有'Config.groovy'和'application.properties'提到的配置。 – Feller
但资产位于: '/GCP/GCP /资产/自举c39cd1b8a453e91be3e945bc64eb26a9.css'等 和访问[/gcp/gcp/](http://valkyrien.imada.sdu.dk/gcp/gcp /)将导致一个404响应,并找不到“/index.gsp”。 –
Feller
你是否更新了'ProxyPass'和'ProxyPassReverse'到新路径?如果是 - 显示它。 –