2011-07-08 141 views
7

我開始一個Grails應用程序監聽默認端口8080,以及運行的Grails的根在80端口監聽:讓Grails的外部IP地址聽

#grails -Dserver.port=80 run-app 

這工作得很好在本地主機上,但當我從外部IP地址訪問它時,它只是無法工作。可以肯定的是,我有Apache運行在同一臺服務器上,我可以通過Internet完全訪問它。

是否有一些配置選項我在這裏想要讓Grails偵聽所有IP地址?

我甚至試過,但無濟於事:

#grails -Dserver.host=0.0.0.0 -Dserver.port=80 run-app 

我在EC2實例使用Grails 1.4.0M1在Ubuntu 10.04。

在此先感謝。

寒雪

+1

您是否將「grails run-app」用作生產服務器?這只是爲了開發而已。 – cjstehno

回答

2

如果你真的想與運行應用程序運行,在命令行中輸入您的服務器的IP地址,就像這樣:

#grails -Dserver.host=xx.xx.xx.xx -Dserver.port=80 run-app 

但你可能會發現你與運行在相同IP上的Apache服務器發生衝突。

我想你應該考慮使用mod_proxy和mod_proxy_apj作爲cjstehno指出的「隱藏」你的Grails服務器beghind Apache服務器

+5

我必須做的: grails -Dgrails.server.host = 0.0.0.0 run-app –

+0

grails.server.host和server.host都是有效的 (https://docs.grails.org/latest/ref /Command%20Line/run-app.html) –

0

,如果你是在EC2上,確保防火牆開闢了世界(或任何IP要從中進行連接)端口80。這不是默認設置,並且會跳過ec2的許多第一次使用者。