如何使用gradle bootRun使用https在本地运行Grails 3应用程序

时间:2016-09-06 19:19:10

标签: grails gradle bootrun

我们有一个复杂的多模块项目,出于各种原因,必须使用'gradle bootRun'而不是'grails run-app'运行。使用'grails run-app',可以使用'grails run-app -https'在本地https环境中轻松运行,但这对gradle bootRun不起作用,我找不到明显的等价物。有什么东西可以添加到我的构建文件中,或作为参数传递,以模仿在开发人员机器上本地运行时grails run-app的-https行为?

编辑:我正在使用默认的嵌入式servlet容器(Tomcat)

1 个答案:

答案 0 :(得分:5)

我能够通过以下步骤解决这个问题:

  1. 按照https://tomcat.apache.org/tomcat-8.0-doc/ssl-howto.html#Configuration的说明创建本地密钥库 - 特别是此命令(使用' mysecret'当提示输入密码时,这显然是您的选择)

    $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA -keystore ./localkeystore

  2. 将生成的localkeystore文件与build.gradle一起复制到项目的根目录

  3. 将以下块添加到build.gradle:

  4. -

    bootRun {
        systemProperty 'server.port', '8443'
        systemProperty 'server.ssl.enabled', 'true'
        systemProperty 'server.ssl.key-store', './localkeystore'
        systemProperty 'server.ssl.key-store-password', 'mysecret'
        systemProperty 'server.ssl.key-password', 'mysecret'   
    }