【问题标题】:How to run a Grails 3 app locally with https using gradle bootRun如何使用 gradle bootRun 在本地使用 https 运行 Grails 3 应用程序
【发布时间】:2017-01-14 08:15:57
【问题描述】:

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

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

【问题讨论】:

  • 答案取决于您使用的容器。 Tomcat 是默认的。
  • @JeffScottBrown 是的,Tomcat。为清楚起见进行了编辑

标签: grails gradle bootrun


【解决方案1】:

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

  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:

-

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'   
}

【讨论】:

    猜你喜欢
    • 2022-06-21
    • 2018-09-07
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    • 2016-09-17
    • 1970-01-01
    • 2016-06-21
    • 2018-04-15
    相关资源
    最近更新 更多