Grails在生产时没有收听https端口

时间:2015-09-08 13:27:27

标签: grails ssl https

我在BuildConfig.groovy中有以下配置:grails.server.port.https = 8443

但是,在部署我的应用程序(我使用AWS OpsWorks)时,grails不会监听此端口。当grails app完成加载时,我看到以下消息:

Sep 08, 2015 1:24:20 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-apr-8080"]
Sep 08, 2015 1:24:20 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-apr-8009"]
Sep 08, 2015 1:24:20 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 67150 ms

它告诉我应用程序正在侦听端口8080上的http请求,但我看不到有关https的任何内容。我该怎么做才能使我的Grails应用程序接收https请求?

1 个答案:

答案 0 :(得分:1)

您在BuildConfig.groovy中使用的配置用于使用命令grails run-app -https运行应用程序。

由于您正在为生产创建战争并在外部tomcat中部署war,因此您需要配置tomcat以侦听https请求。要为https配置tomcat,请浏览this tutorial

您使用的配置详情如下:

为了在本地运行https应用程序,我们使用命令

  

grails run-app -https

默认情况下,它在端口8443中运行应用程序。有两种方法可以更改端口号。

  1. 通过添加grails.server.port.https = 8443
  2. ,一种方式就像您在BuildConfig.groovy中所做的那样
  3. 另一种方法是使用命令grails -Dserver.port=8443 run-app -https
  4. 运行应用程序

    您可以将端口号更改为8993。