2011-07-08 5 views
7

j'ai commencé une application Grails écouter le port par défaut 8080, ainsi que l'exécution Grails en tant que root pour écouter sur le port 80:Faire Grails écouter sur l'adresse IP externe

#grails -Dserver.port=80 run-app 

Cela fonctionne parfaitement bien sur localhost, mais lorsque j'y accède à partir d'une adresse IP externe, cela ne fonctionne tout simplement pas. Pour être sûr, j'ai Apache fonctionnant sur le même serveur et je peux y accéder parfaitement sur Internet.

Y at-il une option de configuration qui me manque ici pour demander à Grails d'écouter sur toutes les adresses IP?

J'ai même essayé cela, mais en vain:

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

J'utilise Grails 1.4.0M1 sur Ubuntu 10.04 sur une instance EC2.

Merci d'avance.

hanxue

+1

Utilisez-vous "grails run-app" comme serveur de production? C'est vraiment destiné au développement seulement. – cjstehno

Répondre

2

Si vous voulez vraiment l'exécuter avec l'exécution app, l'entrer vos serveurs adresse IP dans votre commande en ligne, comme ceci:

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

Mais vous constaterez probablement que vous obtenir un conflit avec votre serveur Apache fonctionnant sur la même adresse IP.

Je pense que vous devriez regarder dans mod_proxy et mod_proxy_apj pour « cacher » votre serveur Grails beghind votre serveur Apache

+5

Je devais faire: grails -Dgrails.server.host = 0.0.0.0 run-app –

+0

à la fois grails.server.host et server.host sont valides (https://docs.grails.org/latest/ref /Command%20Line/run-app.html) –

0

Comme cjstehno a noté, dans la production, vous devez exécuter l'application comme une guerre déployée à un AppServer (Tomcat, TCServer, etc) et idéalement avoir cette course derrière un WebServer (Apache) pour acheminer le trafic.

Voir ->http://grails.org/doc/latest/guide/17.%20Deployment.html

0

si vous êtes sur EC2, assurez-vous que le pare-feu a le port 80 ouvert au monde (ou quoi que ip vous connectez depuis). Ce n'est pas la valeur par défaut et il y a beaucoup de nouveaux utilisateurs d'ec2.

Questions connexes