我的Grails应用程序出现了一个非常奇怪的问题,该应用程序在Amazon EC2实例上运行。所有重定向都在丢弃主机名。这是一个演示控制器:
class DemoController {
def index = {
redirect(action:test)
}
def test = {
render "Hello World, this is a test"
}
}
您可以在此处查看问题重定向的结果。
演示索引:http://ec2-54-235-232-227.compute-1.amazonaws.com:8080/mpg5/demo/
演示测试:http://ec2-54-235-232-227.compute-1.amazonaws.com:8080/mpg5/demo/test
请注意,演示测试操作可以正常运行。它只是重定向到它的索引才是问题所在。所有重定向都会发生这种情况,但仅适用于亚马逊。当我在localhost上运行它时,没有问题(当然也没有主机名放在那里。)
答案 0 :(得分:0)
听起来您没有在Config.groovy中正确设置生产服务器URL。仔细检查您是否正确设置了它。
// set per-environment serverURL stem for creating absolute links
environments {
development {
grails.logging.jul.usebridge = true
}
production {
grails.logging.jul.usebridge = false
// TODO: grails.serverURL = "http://www.changeme.com"
}
}