在生产中,我的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上运行良好。感谢输入人员。
答案 0 :(得分:0)
将以下内容添加到Config.groovy文件中:
grails.server.port.http = 80
答案 1 :(得分:0)
我会考虑将tomcat更改为端口80并将所有apache请求转发到端口80.注意使用spring-security proto header标签。
答案 2 :(得分:0)