我正在尝试在Tomcat 7服务器上部署Grails 2.5.3应用程序,在Apache(在http://valkyrien.imada.sdu.dk:80上运行的apache)后面运行。 Tomcat在端口8080
上运行,Apache virtualhost的设置如下:
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/
为前缀。
示例:html文件中jQuery的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不会改变任何内容(如StackOverflow上的答案所示):
grails.serverURL="http://valkyrien.imada.sdu.dk/gcp"
grails.app.context = "/gcp"
似乎Grails忽略了serverURL属性。为什么这不起作用的任何建议? 没有Apache的运行不是一种选择。
谢谢!