【问题标题】:Grails https port closes applicationGrails https 端口关闭应用程序
【发布时间】: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 端口,我就会得到应用程序上下文的静默失败/关闭。

标签: java grails https


【解决方案1】:

当不在“生产”模式下运行时,无论 http 的端口是什么,如果您添加一个并向该 URL 发出请求,它将停止您的应用程序。这用于在开发过程中杀死分叉的 grails 进程。

只需在您的上述端口之间留一个间隙就可以了。

【讨论】:

  • 哇,真烦人。有记录吗?我指定了一堆不同的搜索,但从未有过类似的搜索结果。
  • 你知道,我不确定。我和 Jeff Brown 一起参加了一些培训课程,当他提到这件事时,我在心里记下了这可能是一种与同事相处的有趣方式,然后很快就忘记了,直到你提出问题 ;-)
猜你喜欢
  • 1970-01-01
  • 2012-03-07
  • 1970-01-01
  • 2014-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-19
相关资源
最近更新 更多