grails - Grails HTTP URL使用https

标签 grails https spring-security

我有一个在Amazon EC2中的tomcat上运行的应用程序。 http和https都可以使用。我只想使用https,这样当http://app.com被访问时,它将被重定向到https://app.com

在使用spring的SpringSecurity中,它具有拦截器:

<sec:http auto-config='false'>
     <sec:intercept-url pattern="/**" requires-channel="https"/>
</sec:http>

如何做到这一点?

我已经尝试过(以及其他修改)
grails.plugin.springsecurity.secureChannel.useHeaderCheckChannelSecurity = true
    grails.plugin.springsecurity.portMapper.httpPort = 8080
    grails.plugin.springsecurity.portMapper.httpsPort = 8443
    grails.plugin.springsecurity.secureChannel.secureHeaderName = 'X-FORWARDED-PROTO'
    grails.plugin.springsecurity.secureChannel.secureHeaderValue = 'http'
    grails.plugin.springsecurity.secureChannel.insecureHeaderName = 'X-FORWARDED-PROTO'
    grails.plugin.springsecurity.secureChannel.insecureHeaderValue = 'https'
    grails.plugin.springsecurity.auth.forceHttps = true
    grails.plugin.springsecurity.secureChannel.definition = [
            '/**':               'REQUIRES_SECURE_CHANNEL'
    ]

但仍然没有成功。

最佳答案

我现在通过删除第一个配置使其工作

grails.plugin.springsecurity.portMapper.httpPort = 8080
grails.plugin.springsecurity.portMapper.httpsPort = 8443
grails.plugin.springsecurity.secureChannel.secureHeaderName = 'X-FORWARDED-PROTO'
grails.plugin.springsecurity.secureChannel.secureHeaderValue = 'http'
grails.plugin.springsecurity.secureChannel.insecureHeaderName = 'X-FORWARDED-PROTO'
grails.plugin.springsecurity.secureChannel.insecureHeaderValue = 'https'
grails.plugin.springsecurity.auth.forceHttps = true
grails.plugin.springsecurity.secureChannel.definition = [
        '/**':               'REQUIRES_SECURE_CHANNEL'
]

并通过grails run-app -https在本地进行测试

对于开发服务器,我只是在配置中将8080替换为80,将8443替换为443。

关于grails - Grails HTTP URL使用https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29669528/

相关文章:

Grails OAuth2 登录密码凭据授予返回 invalid_client

grails - 首次使用 Grails 包装器时必须连接到 Internet

Grails Spring 安全用户界面

java - SSL 不适用于 Android 2.2(仅适用于 2.3)

python - 如何为 Django 中的某些 View 禁用 SECURE_SSL_REDIRECT?

java - Spring Security - 如何阻止对除按角色列出的少数 URL 之外的任何 URL 的访问?

mongodb - 从Grails从MongoDB 2.4.12迁移到3.2.7的异常

grails - 弹出消息窗口中有grails?

ssl - 如何配置 jfrog Artifactory Web 界面以使用 https 而不是 http

java - 如何获取序列化的tomcat HttpSession以重新填充spring SessionRegistry