настроить домашний веб-сервер для приложения Grails

Я разработал приложение в Grails и хочу настроить простой веб-сервер, чтобы приложение было доступно через сеть. На моей машине установлена ​​ОС Ubuntu. Я только что установил сервер tomcat, noip (с DUC) для адресации, и я дал статический адрес в свою локальную сеть и сделал переадресацию портов для маршрутизатора DSL-2640R для порта 8080. В локальной сети все работает хорошо, но приложение не доступны извне. Я могу получить доступ к общедоступному адресу, указанному для noip.com (или созданному связанному URL-адресу), но если я добавлю порт 8080, он будет недоступен. У кого-нибудь есть предложение? Надеюсь вопрос ясен.


person FrancescoDS    schedule 21.10.2013    source источник
comment
Каково значение конфигурации grails.serverURL? Как вы получаете доступ к своему приложению из локальной сети? Как вы пытаетесь получить доступ к вашему приложению из Интернета? Вы проверяли брандмауэр на своей ОС? Каков результат ‹code›telnet yourHost/IP 8080 ‹/code›?   -  person Aram Arabyan    schedule 21.10.2013
comment
Я получаю доступ к своему приложению в локальной сети, используя local_ip_of_machine:8080/appName. Используя noip.com, я настроил хост, который связывает глобальный URL-адрес с локальным адресом моей локальной сети (который я могу увидеть на веб-сайте whatismyip.com). В ОС Ubuntu у меня нет брандмауэра. Если я выполню телнет с global_ip 8080, телнет не ответит. Если я делаю только telnet global_ip (без порта), то телнет работает. А как насчет grails.serverURL?   -  person FrancescoDS    schedule 21.10.2013
comment
Я предполагаю, что вы отправляете запрос из inet (через noip.com) на порт 80, но ваш applicatoin/tomcat отвечает на порт 8080. Измените порт tomcat на 80 и порт в config grails.serverURL.   -  person Aram Arabyan    schedule 21.10.2013
comment
К настоящему времени мой grails.serverURL в рабочем разделе файла конфигурации прокомментирован... мне нужно раскомментировать его и установить как grails.serverURL = urlGivenByNoIp:80?   -  person FrancescoDS    schedule 21.10.2013
comment
Я изменил порт на 80 в Tomcat. Теперь мое приложение не работает ни локально. Я думаю, что нельзя дать 80-й порт Tomcat.   -  person FrancescoDS    schedule 21.10.2013
comment
да, Tomcat может работать на порту 80, в системе Linux вам нужно быть root, чтобы запустить его, так как все порты меньше 1024 считаются привилегированными. После изменения tomcat на использование 80 вы можете получить локальный доступ к приложению с обычным URL-адресом без :portNumber , т. е. localhost/myGrailsApp   -  person Vinny    schedule 22.10.2013


Ответы (1)


Это определенно проблема сети/брандмауэра/провайдера. Tomcat определенно может запускать Grails как войну без проблем на порту 80 (http-порт по умолчанию)

person Vinny    schedule 21.10.2013
comment
Используя порт 8080, в моей локальной сети я не могу получить доступ к URL-адресу, указанному noip.com, но извне (я использовал 3G-соединение своего смартфона) все работает хорошо... - person FrancescoDS; 23.10.2013