【发布时间】:2015-08-24 21:52:03
【问题描述】:
使用 grails 2.4 运行 grails 应用程序,我在 run-app 命令中指定服务器端口和 https 端口(分别为 9191 和 9192):
grails -Dgrails.env=dev -Dgrails.server.port.http=9191 -Dgrails.server.port.https=9192 run-app -https
这使服务器启动并运行。我可以正常访问http端口,但是当我访问https端口时,我收到以下消息,然后浏览器显示“无法连接”页面:
| Server running. Browse to http://localhost:9191/inventory or https://localhost:9192/inventory
14:35:58,091 DEBUG [DefaultListableBeanFactory:128] {localhost-startStop-2} Returning cached instance of singleton bean 'grailsApplication'
14:35:58,092 INFO [GrailsWebApplicationContext:152] {localhost-startStop-2} Closing org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@26a2bd15: startup date [Mon Aug 24 14:35:17 PDT 2015]; parent: Root WebApplicationContext
看起来去这个非默认端口正在关闭我的应用程序!当我不指定端口并使用默认端口 8443 时,应用程序可以正常工作。我已经从 grails 1.3.7 版本升级了这个应用程序,从来没有遇到过这个问题,现在我只能使用 8443 作为我的端口,这不起作用,因为我们在这台机器上有多个需要 HTTPS 的服务。
【问题讨论】:
-
我应该指定,如果我只定义“http”或“https”端口之一,它可以正常工作,将我未指定的任何端口保留为默认端口。但是一旦我指定了 http 和 https 端口,我就会得到应用程序上下文的静默失败/关闭。