2016-09-21 4 views
1

Я бег моей Весна веб-приложении на локальном хосте, поэтому оба адреса работают:Запуск Spring приложения в локальной сети IP 192.168.xx

http://localhost:9999/app

http://127.0.0.1:9999/app

Я также хотел бы видеть это приложение работает на конкретный IP-адрес моей машины (для доступа к ней с мобильного телефона, но это менее важно здесь). Я использовал IPCONFIG, чтобы получить мой IPv4, но когда я использую его так:

http://192.168.1.4:9999/app

я получаю 'этот сайт не может быть достигнута. Это все еще на моей локальной машине, не мобильно. Есть ли что-то еще, что я должен настроить, чтобы заставить его работать?

EDIT: вот экран PrintScreen, иллюстрирующий проблему. Я не думаю, что это вопрос конфигурации приложения, потому что серверная консоль должна отображаться во всех случаях, даже если приложение не развернуто или работает.

enter image description here

+0

ваш сервер работает на той же машине, как тот, который вы пытаетесь получить к нему доступ, правильно? В противном случае сообщите нам, если вы находитесь в одной подсети. Это имеет огромное значение. – Pierre

+0

Можете ли вы проверить, открыт ли порт? Можете ли вы проверить, использует ли другое приложение этот порт? Можете ли вы проверить, что ваш маршрутизатор не блокирует трафик? Наконец, можете ли вы обеспечить, чтобы оба устройства находились в одной сети или, по крайней мере, выполняли одни и те же правила DHCP? Если да, отредактируйте свой вопрос и добавьте детали. – Bonatti

+0

@Pierre - это та же машина. – jarosik

ответ

1

все, что вам нужно сделать, это добавить это к вашему app.properties (или как вы называете файл пружинных свойств)

server.address=<your_ip> 

just as described here

+0

shouldn Я вижу, по крайней мере, консоль сервера? Это должно загружаться без какой-либо конфигурации приложения. – jarosik

+0

. Я не знаю, что вы понимаете, увидев консоль сервера, но вы должны настроить свое приложение :) , если вы только что-то разрабатываете что-то внутренне - просто запустите ipconfig, скопируйте свой адрес и вставьте его в файл конфигурации. В случае, если вы хотите, чтобы он был более стабильным, чем ваш IP-адрес DHCP - проверьте ответ Saraths – WrRaThY

+0

отредактировал мой вопрос, чтобы показать, в чем проблема – jarosik

0

По умолчанию DHCP назначит вам ip-адрес, который изменится. Вам необходимо установить статический IP-адрес для вашей машины. Проверить это связывает

для Windows

http://www.howtogeek.com/howto/19249/how-to-assign-a-static-ip-address-in-xp-vista-or-windows-7/

Если ваша операционная система не окна, вы можете найти инструкции для вашей операционной системы, чтобы установить статический адрес IP- в интернете.

Важное примечание: Убедитесь, что порт разрешен в системном брандмауэре или в антивирусном settings.It не будет работать иначе.

+0

У меня Windows 10.Я полностью остановил службу FireWall – jarosik

+0

, какой идеал и сервер вы используете? –

+0

Это на самом деле Win 7, я использую WildFly 10 и STS 3.8.1 – jarosik

0

Из скриншота и новой информации, что «клиент и сервер находятся на одной машине», я гугле по вопросам WildFly и интересно, если вы должны настроить ваш IP, как и в этом ответе: JBoss WildFly: Starts but can't connect?

Рекомендуем также посмотреть на этой странице (многосетевом): http://blog.arungupta.me/bind-wildfly-different-ip-address-multihomed/, возможно, потребуется сделать следующее:

standalone.sh -b=192.168.1.4 

[Я оставлю эту часть неповрежденной в случае больше приходит на этот вопрос и хочет отлаживать подобные вопросы]

IP-адрес, используемый вами [192.168.x.x], может использоваться только в ЧАСТНОЙ СЕТИ.См.: https://en.wikipedia.org/wiki/Private_network

Таким образом, трудно ответить на вопрос, не зная, находится ли ваш клиент и сервер на одном компьютере, в той же сети или в разных сетях.

  • 1) является вашим клиентом на том же компьютере, что и сервер: тогда использование этого 192.168.x.x IP должно работать, да. Если они находятся на одной машине, то она не должна даже доходить до сетевой карты, все это происходит в ОС [или выше] = проблема с ОС или конфигурацией приложения. Некоторые предложения в этом случае: можете ли вы проверить C: \ Windows \ System32 \ drivers \ etc \ hosts [/ etc/hosts on * nix], чтобы увидеть, есть ли что-нибудь назад (например: сначала поставить хост и IP-адрес) , , Кроме того, можете ли вы попробовать разместить http: // перед своим IP-адресом, просто для ударов? В противном случае: если ваш клиент находится на другом компьютере, чем сервер, мы должны знать:
    • 2) ваш клиент и сервер на одной и той же подсети (например: подключены к одному маршрутизатору)? Если да, то вы можете использовать IP-адрес формата 192.168.x.x, и ваши проблемы могут быть вызваны правилами брандмауэра на вашем сервере (или другом). Но мы можем заставить его работать с более подробной информацией.
    • 3) Ваш клиент и сервер в разных подсетях или совершенно разных сетях (например: вы пытаетесь подключиться с вашего ноутбука к серверу на AmazonWebService или в другом месте в Интернете). В этом случае вы не сможете вызывать ваш сервер с IP-адресом формата 192.168.x.x, поскольку этот диапазон IP находится только локально в его подсети. Найдите PUBLIC IP для вашего сервера. Например, в AWS у вас есть частные и публичные IP-адреса. Если ваш сервер находится в домашней сети, вам может потребоваться настроить DMZ (демилитаризованная зона) и/или трансляция сетевых адресов, чтобы ваш маршрутизатор мог пересылать входящие HTTP-запросы на ваш сервер на основе, например, номеров портов сервера и т. Д.
+0

Та же машина, все на локальном хосте. См. PrtScreen – jarosik