如何将Grails 3本地部署默认URL改为HTTPS?
如何让Grails 3.3应用在bootRun时显示HTTPS部署URL?
我明白你的困扰——你已经把SSL配置好了,应用能正常通过HTTPS访问,但启动日志里还是默认显示HTTP的地址,每次都得手动改URL,确实有点麻烦。
问题的核心在于Grails启动时,会根据grails.serverURL属性生成日志里的应用访问地址,而这个属性默认是HTTP协议+8080端口的配置。咱们只需要调整这个属性就能解决问题,给你几种可行的方法:
方法一:修改application.yml配置
在你现有的development环境配置块里,添加grails.serverURL属性,和server的SSL配置放在一起即可:
environments: development: server: port: 8443 ssl: enabled: true key-store: './localkeystore' key-store-password: 'localonly' key-password: 'localonly' grails: serverURL: 'https://localhost:8443/application'
保存配置后重新运行bootRun,启动日志里就会显示你指定的HTTPS地址了。
方法二:通过Gradle任务强制设置
如果修改配置文件没生效,你也可以在build.gradle里给bootRun任务添加系统属性:
bootRun { systemProperty 'grails.serverURL', 'https://localhost:8443/application' }
方法三:IntelliJ运行配置里指定
打开IntelliJ的Run Configuration,找到你当前的bootRun配置项,在VM options里添加以下参数:
-Dgrails.serverURL=https://localhost:8443/application
保存后重新启动应用,日志就会同步显示正确的HTTPS URL了。
本质上这几种方法都是在设置grails.serverURL这个关键属性,Grails启动时会读取它来生成日志里的应用访问地址,只要这个属性配置为HTTPS协议,日志就会自动更新啦。
内容的提问来源于stack exchange,提问作者Tabbycat
相关产品推荐
相关产品推荐

