2017-01-10 4 views
0

Пытается запустить следующую команду curl из виртуальной коробки nodeJS vagrant.Curl GET из бродячих узлов. Запрошенный URL-адрес не может быть получен с запрошенного сервера

IP-адрес локального хоста - 10.29.12.152

локона http://10.29.12.152:3002/api/v1/suggest/zeta-spot-cms/documents?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9CJyfw&term=xfinity

А также, я разработал конечный список API с помощью expressJS.

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

[ 
{ 
_index: "zeta-spot-cms", 
_type: "documents", 
_id: "AVmCw40nHO6bFVnpAj-5", 
_score: 1, 
_source: {} 
} 
] 

Пытается использовать этот API как команду curl в виртуальной виртуальной коробке. Я получил следующую ошибку.

<div id="titles"> 
<h1>ERROR</h1> 
<h2>The requested URL could not be retrieved</h2> 
</div> 
<hr> 

<div id="content"> 
<p>The following error was encountered while trying to retrieve the URL: <a href="http://10.29.12.152:3002/api/v1/suggest/zeta-spot-cms/documents?">http://10.29.12.152:3002/api/v1/suggest/zeta-spot-cms/documents?</a></p> 

<blockquote id="error"> 
<p><b>Connection to 10.29.12.152 failed.</b></p> 
</blockquote> 

<p id="sysmsg">The system returned: <i>(113) No route to host</i></p> 

<p>The remote host or network may be down. Please try the request again.</p> 

Можете ли вы предложить мне, как я могу поднять завиток команду в бродячей виртуальном поле, чтобы получить результаты локального сервера в.

Заранее благодарен!

ответ

0

Мне немного сложно понять, что вы просите, поэтому позвольте мне сначала уточнить - я интерпретирую ваш вопрос, чтобы иметь в виду, что у вас виртуальная виртуальная машина, с которой работает Vagrant, и у вас есть node.js приложение, запущенное внутри этой виртуальной машины. Когда вы получаете доступ к приложению через браузер (хост-системы), вы получаете ожидаемые результаты. Но когда вы пытаетесь использовать curl внутри виртуальной машины, вы получаете ошибку «no route to host», скопированную выше.

Предполагая, что все это правильно, я думаю, что ответ довольно прост. Я предполагаю, что виртуальная виртуальная машина не знает, что ее IP-адрес 10.29.12.152. Следовательно, команды, запускаемые внутри виртуальной машины, не знают, как достичь этого IP-адреса. Из вашего описания мне непонятно, выходит ли этот IP-адрес.

Если моя гипотеза верна, вы должны иметь возможность заменить 10.29.12.152 на 127.0.0.1, и команда должна работать.

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

+0

спасибо за быстрый ответ @Geoff Gerrietts, приложение Nodejs не работает в виртуальной виртуальной машине. Который работает на локальной машине (10.29.12.152). Я хочу запустить команду curl внутри виртуальной виртуальной машины. Если я дам 127.0.0.1 вместо IP-адреса, я получил завиток: (7) не удалось подключиться к ошибке хоста. – Anand

+0

На самом деле, я хочу вызвать этот API в другом приложении, которое работает в виртуальном боксе. – Anand

+0

А также я проверил с помощью команды ping в VM. Результаты следующие: PING 10.29.12.152 (10.219.162.152) 56 (84) байтов данных. 64 байта из 10.29.12.152: icmp_seq = 1 ttl = 63 раз = 0,361 мс 64 байта из 10.29.12.152: icmp_seq = 2 ttl = 63 time = 0.296 ms – Anand