我在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请求?
答案 0 :(得分:1)
您在BuildConfig.groovy中使用的配置用于使用命令grails run-app -https
运行应用程序。
由于您正在为生产创建战争并在外部tomcat中部署war,因此您需要配置tomcat以侦听https请求。要为https配置tomcat,请浏览this tutorial
您使用的配置详情如下:
为了在本地运行https应用程序,我们使用命令
grails run-app -https
默认情况下,它在端口8443中运行应用程序。有两种方法可以更改端口号。
grails.server.port.https = 8443
grails -Dserver.port=8443 run-app -https
您可以将端口号更改为8993。