4
我目前有一個應用程序,我正在使用雲(Jelastic)。我已將SSL證書添加到我的雲環境中,並希望能夠在某些頁面上使用https。我已經實現了這樣做的以下方法:Grails Spring Security secureChannel不重定向https?
方法1:
grails.plugins.springsecurity.secureChannel.definition = [
'/login/**': 'REQUIRES_SECURE_CHANNEL'
]
方法2:
grails.plugins.springsecurity.secureChannel.definition = [
'/login/**': 'REQUIRES_SECURE_CHANNEL'
]
grails.plugins.springsecurity.secureChannel.useHeaderCheckChannelSecurity = true
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'
因此,對於方法1這部分工作原理,當你去在HTTP索引頁面,然後嘗試去登錄頁面,你會看到一條錯誤消息,說:
Firefox has detected that the server is redirecting the request for this address in a way that will never complete.
然而,方法2似乎根本不起作用,當我轉到HTTP上的登錄頁面時,它並沒有像我期望的那樣重定向我,並且似乎只是對HTTP很奇怪。
這個解決方案是由Jelastic託管的,因爲我不知道這可能會導致一些問題,但提供的任何幫助都會很好。
在此先感謝
你在哪個應用程序服務器上運行它? – allthenutsandbolts
Jelastic Tomcat 6 Java 6 – user723858
兩個配置思路:1)確保你的'grails.serverURL'配置設置被正確定義2)'grails.plugins.springsecurity.portMapper.httpPort'和'... httpsPort'的默認值是8080和8443,它們在默認開發環境中工作正常,但通常必須在測試/生產中被覆蓋。 –