Grails Spring Security附加:8080到Apache代理后面的URL

时间:2013-09-07 22:31:31

标签: grails redirect spring-security port target

在生产中,我的Grails应用程序在Tomcat端口8080上运行,并且位于Apache代理之后;端口80.除认证外,所有功能都有效。当用户尝试登录应用程序时,Spring Security会将:8080附加到目标URL,并且由于无法路由请求,因此连接超时。

我已经在config.groovy中设置了以下内容但没有成功:

    grails.serverURL = "http://domain.tld/${appName}"
grails.plugins.springsecurity.portMapper.httpPort = "80"
grails.plugins.springsecurity.portMapper.httpsPort = "443"

当我尝试使用内置身份验证或OpenID时,会出现此问题。该应用程序已经运行了6个多月,然后我的托管服务提供商通过插入一个洞进行了更改,并开始从外部阻止端口8080.

我只需要Spring Security就可以在不使用以下内容的情况下编写URL:8080

感谢任何帮助,谢谢!

更新 最后问题出在我使用的主机上。与Apache ProxyPass有关。相同的应用程序在新的生产VPS上运行良好。感谢输入人员。

3 个答案:

答案 0 :(得分:0)

将以下内容添加到Config.groovy文件中:

grails.server.port.http = 80

答案 1 :(得分:0)

我会考虑将tomcat更改为端口80并将所有apache请求转发到端口80.注意使用spring-security proto header标签。

答案 2 :(得分:0)

问题已经回答了

mod_rewrite not working to secure grails application

tomcat配置更改就像魅力一样。