2016-09-15 4 views
0

내 응용 프로그램에서 나는 몽구스로 노드를 사용하여 MongoDB에 연결하고 있습니다. MongoDB 인스턴스는 Azure에 있습니다. 나는 데이터베이스에 직접 연결할 수 있도록 위와 같은 작업이 필요합니다.Azure MongoDB에 Robomongo 연결 설정을위한 연결 문자열을 찾으십시오.

보고 후 그것을 할 수 있습니다 :이 작업을 수행 할 클라이언트 Robomongo을 사용하고 How to connect Robomongo to MongoDB

. 연결 문자열은 어떻게 찾습니까?

EDIT : 현재 IP 및 포트의 결과는 '네트워크에 도달 할 수 없음'입니다. 내 노드 애플 리케이션에서 mongodb mongoose 연결 변수 로깅을 시도하고 이러한 세부 사항을 사용하여 작업을하지 않습니다.

+0

무슨 뜻인지 확실치 않습니다. MongoDB를 어디에서 호스팅 (또는 설치) 했습니까? 거기에서 연결 문자열을 가져와 robomongo와 함께 사용해야합니다. –

+0

수정 된 질문, azure에서의 설정 – lxm7

+0

그리고 MongoDB를 구성에서 외부 액세스 용으로 구성 했습니까? 인바운드 보안 규칙 (또는 종점, 클래식 VM을 통해 수행됨)을 통해 포트를 열었습니까? –

답변

0

그것은 푸른 서버 문제 그 날을 가졌다 밝혀 (!). 현재 업데이트를 읽을 수 있습니다

https://azure.microsoft.com/en-gb/status/

또한, 나는 당신이 내가 보안상의 이유로 상상할 새로운 기계가 아닌 IP를 만들 때 푸른에 의해 생성, 몽고에 연결하는 푸른 기계 URL을 사용했다.

그래서 저는 nameofmymachine.cloudapp.net:27017을 사용했으며 SSH 터널 탭 (IP를 물론 사용합니다) 아래에 세부 사항을 추가하여 완성되었습니다.

0

mongodb 서버 VM에서 SSH 터널을 만들고이 터널을 통해 mongodb 서버에 연결할 수 있습니다. 유사한 시나리오를 https://azure.microsoft.com/en-us/blog/create-your-own-dedicated-mysql-server-for-your-azure-websites/에서 참조 할 수 있습니다.

  • sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 27017 -j ACCEPT
  • sudo netstat -anltp|grep :27017
  • sudo ssh -fNg -L 27017:127.0.0.1:27018 [email protected]
  • 가의 엔드 포인트를 작성 :

    는 VM에 MongoDB를 설치 한 후, 마지막에 내 옆에 잘 작동 다음 명령을 시도하십시오 포트 Azure 관리 포털에서 VM의 대시 보드에있는 27018

그런 다음 다음과 같은 코드를 통해 MongoDB를 연결할 수 있습니다 :

var mongoose = require('mongoose'); 
    mongoose.connect('mongodb://<your_server_vm>.cloudapp.net:27018/test'); 
    var db = mongoose.connection; 
    db.on('error', console.error.bind(console, 'connection error:')); 
    db.once('open', function() { 
    console.log("we're connected!") 
    }); 
관련 문제