#riak
#riak
Вопрос:
Я новичок в Riak и веб-сервисе
Я следую ускоренному пути riak, на стороне сервера я набираю
riak start
и на стороне клиента я запускаю curl -H "Accept: text/plain" http://markson.hk:8093/stats
Я получил ошибку:
curl: (7) couldn't connect to host
Обновить
на стороне сервера это действительно работает:
curl -v http://127.0.0.1:8098/ping
response: OK
Но на моем клиентском компьютере
curl -vhttp://116.255.139.151:8098/ping
это не работает и возвращает:
bogon:~ yozloy$ curl -v http://116.255.139.151:8098/ping
* About to connect() to 116.255.139.151 port 8098 (#0)
* Trying 116.255.139.151... Connection refused
* couldn't connect to host
* Closing connection #0
curl: (7) couldn't connect to host
И страницы приветствия Nginx работают!
Комментарии:
1. Проверили ли вы все брандмауэры между клиентом и сервером, и если вы контролируете их настройки, вы убедились, что они верны? Я могу сказать вам, что я получаю «OK» при попытке 116.255.139.151: 8098 / ping , и я нахожусь в США, используя iPhone.
Ответ №1:
Я столкнулся с аналогичной проблемой, установив riak 1.4.2 на виртуальной машине, а затем пытаясь получить доступ к API с хост-машины через перенаправление портов.
Решением было отредактировать файл riak app.config и изменить http
настройку. По умолчанию / начальная настройка была:
{http, [ {"127.0.0.1", 8098} ]}
… который привязывается только к интерфейсу обратной связи. Если вы хотите, чтобы riak отвечал на другие интерфейсы, вы должны добавить их в настройку, например:
{http, [ {"X.X.X.X", 8098}, {"127.0.0.1", 8098} ]}
где X.X.X.X
— адрес, привязанный к другому интерфейсу, который вы хотели бы использовать.
В случае моей виртуальной машины это был адрес 10.0.X.X.
Также существует аналогично отформатированная pb
настройка для API буферов протокола, которую вы также можете захотеть обновить, если хотите получить доступ к серверу с использованием API буферов протокола с клиентского компьютера.
Ответ №2:
ответ 2016 для Riask 2.1.4 (более ранние версии отличаются)
Откройте конфигурационный файл:
sudo vi /etc/riak/riak.conf /http.internal
Измените эту строку с:
listener.http.internal = 127.0.0.1:8098
Для:
listener.http.internal = 0.0.0.0:8098
Затем перезапустите:
sudo riak restart
(Титры:https://gist.github.com/wavell/7979851 )
Это действительно плохо задокументировано в Riak 2.1.4, мгновенный вычет баллов в моей оценке.
Комментарии:
1. Поисковый запрос для Google: «riak включить внешний http»
2. Большое вам спасибо, я потратил на это целую вечность, пока не нашел этот ответ.
Ответ №3:
Я предполагаю, что это проблема с сетью, вы можете попробовать прокси-сервер или удаленный VPS-сервер
ping 116.255.139.151
PING 116.255.139.151 (116.255.139.151) 56(84) bytes of data.
64 bytes from 116.255.139.151: icmp_seq=1 ttl=46 time=222 ms
64 bytes from 116.255.139.151: icmp_seq=2 ttl=46 time=223 ms
И я запускаю эту на сервере ту же команду, которую вы используете, я получил правильный результат.
curl -v http://116.255.139.151:8098/ping
* About to connect() to 116.255.139.151 port 8098 (#0)
* Trying 116.255.139.151... connected
* Connected to 116.255.139.151 (116.255.139.151) port 8098 (#0)
> GET /ping HTTP/1.1
> User-Agent: curl/7.19.5 (i486-pc-linux-gnu) libcurl/7.19.5 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.15
> Host: 116.255.139.151:8098
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: MochiWeb/1.1 WebMachine/1.9.0 (participate in the frantic)
< Date: Tue, 22 Nov 2011 07:00:46 GMT
< Content-Type: text/html
< Content-Length: 2
<
* Connection #0 to host 116.255.139.151 left intact
* Closing connection #0
Надеюсь, это полезно для вашего устранения неполадок.
Комментарии:
1. Я исправил файл конфигурации riak, теперь все работает как по маслу!
2. У меня такая же проблема. Что именно вы сделали?