Заставьте Grails прослушивать внешний IP-адрес - PullRequest
7 голосов
/ 08 июля 2011

Я запустил приложение Grails, слушая порт 8080 по умолчанию, а также запустил grails в качестве пользователя root для прослушивания на порту 80:

#grails -Dserver.port=80 run-app

Это прекрасно работает на локальном хосте, но когда я получаю к нему доступ извнешний IP-адрес, он просто не работает.Просто чтобы быть уверенным, у меня Apache работает на том же сервере, и я могу получить к нему отличный доступ через Интернет.

Есть ли какая-то опция конфигурации, которую я здесь пропускаю, чтобы попросить Grails прослушивать все IP-адреса?

Я даже пробовал это, но безрезультатно:

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

IЯ использую Grails 1.4.0M1 на Ubuntu 10.04 на экземпляре EC2.

Заранее спасибо.

Hanxue

Ответы [ 3 ]

2 голосов
/ 08 июля 2011

Если вы действительно хотите запустить его с помощью run-app, введите IP-адрес вашего сервера в командной строке, например:

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

Но вы, вероятно, обнаружите конфликт с сервером Apache, работающим на том же IP-адресе.

Я думаю, вы должны изучить использование mod_proxy и mod_proxy_apj, чтобы "спрятать" ваш сервер Grails за вашим сервером Apache

0 голосов
/ 09 июля 2011

если вы используете ec2, убедитесь, что на брандмауэре открыт порт 80 для всего мира (или любого IP-адреса, с которого вы подключаетесь). это не значение по умолчанию и отключает многих новых пользователей ec2.

0 голосов
/ 09 июля 2011

Как отметил cjstehno, в производственной среде вы должны запускать приложение как войну, развернутую на AppServer (Tomcat, TCServer и т. Д.), И в идеале это должно выполняться за WebServer (Apache) для маршрутизации трафика.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...