Как подключиться к Openshift Mongodb с локального клиента (порты переадресовываются)?
Я создал масштабированное приложение nodejs и добавил mongodb, все работает нормально (подключение к mongodb из nodejs с помощью переменных среды). Теперь я хочу подключиться к БД с моего локального компьютера, и я не могу заставить его работать на всю жизнь.
rhc port-forward -a [myapp]
возвращает:
Forwarding ports ...
Address already in use - bind(2) while forwarding port 8080. Trying local port 8081
Address already in use - bind(2) while forwarding port 8080. Trying local port 8081
Address already in use - bind(2) while forwarding port 8081. Trying local port 8082
To connect to a service running on OpenShift, use the Local address
Service Local OpenShift
------- --------------- ---- -------------------------------------------------
haproxy 127.0.0.1:8080 => 127.2.114.130:8080
haproxy 127.0.0.1:8081 => 127.2.114.131:8080
mongodb 127.0.0.1:65211 => [mysubdomain].rhcloud.com:65211
node 127.0.0.1:8082 => 127.2.114.129:8080
Насколько я могу судить, это выглядит неплохо, но я не уверен Address already in use
часть.
При попытке подключиться с моей машины через
mongo -u admin -p [password] --host [mysubdomain].rhcloud.com --port 65211 [dbname]
Я просто получаю
Error: couldn't connect to server [mysubdomain].rhcloud.com:65211 (54.197.84.134), connection attempt failed at src/mongo/shell/mongo.js:148
exception: connect failed
Так что похоже, что этот порт недоступен (ping
на домене работает). Я скопировал прямо с rhc port-forward
, У кого-нибудь есть опыт решения этой проблемы?
2 ответа
Похоже, вы подключаетесь не к тому хосту, вы должны подключиться к локальному хосту следующим образом:
mongo -u admin -p [password] --host 127.0.0.1 --port 65211 [dbname]
rhc port-forward -a [myapp]
после выполнения вышеуказанной команды все запросы к localhost, т.е. 127.0.0.1, будут перенаправлены на удаленный хост через туннель rhc.
так что не смущайтесь, даже если вы видите удаленный хост, попробуйте подключиться к локальному хосту, по умолчанию запросы будут пересылаться на удаленный сервер до тех пор, пока вы не прекратите переадресацию порта, нажав ctrl + c
mongo -u admin -p [пароль] --host 127.0.0.1 --port 65211 [имя_базы]
решит вашу проблему