2013-10-30 17 views
3

去年有問題了一把解決此同一主題:的Grails在Heroku - 春安芯secureChannel.definition原因重定向循環

Grails application on Heroku with ssl

grails - spring-security-core secure-channel causing redirect loop (on Heroku)

grails - simple App to test spring-security-core secure-channel on Heroku

但是,沒有當時似乎滿意的答案出現了。

我使用Spring安全插件(1.2.7.3)在heroku上運行2.24 Grails應用程序。

試圖使用:

grails.plugins.springsecurity.secureChannel.definition = [ 
'/myAccount/**':   'REQUIRES_SECURE_CHANNEL', 
] 

導致該URL映射到發生重定向循環。

我Coonfig.groovy包含:

grails.plugins.springsecurity.secureChannel.useHeaderCheckChannelSecurity = true# 

在上面鏈接的問題之一,伯特提到,

grails.plugins.springsecurity.portMapper.httpPort 
grails.plugins.springsecurity.portMapper.httpPort 

可能需要改變,但我不能在任何地方找到任何文件以sugegst什麼端口應該用於Heroku - 我已經嘗試使用80爲http和443爲https,但得到同樣的問題。

有沒有人在任何時候都成功地得到了這個工作?

回答

2

它看起來像這樣下降到使用錯誤的情況下,對「X-轉發,原」時

grails.plugins.springsecurity.secureChannel.useHeaderCheckChannelSecurity = true 

設置Spring Security的插件。

添加此我Config.groovy中解決問題

grails.plugins.springsecurity.secureChannel.useHeaderCheckChannelSecurity = true 
grails.plugins.springsecurity.portMapper.httpPort = 80 
grails.plugins.springsecurity.portMapper.httpsPort = 443 
grails.plugins.springsecurity.secureChannel.secureHeaderName = 'X-FORWARDED-PROTO' 
grails.plugins.springsecurity.secureChannel.secureHeaderValue = 'http' 

grails.plugins.springsecurity.secureChannel.insecureHeaderName = 'X-FORWARDED-PROTO' 
grails.plugins.springsecurity.secureChannel.insecureHeaderValue = 'https' 
+0

我使用Grails 3.2.8和該解決方案解決了HTTPS循環問題對我來說。 – reinaldoluckman