2017-11-28 37 views
1

로컬 PouchDB 인스턴스를 Google App Engine의 원격 CouchDB 인스턴스와 동기화하려고합니다.CouchDB 동기화 오류 net :: ERR_CONNECTION_RESET

나는 successfully logged in to the remote instance를 가지고,하지만 난 동기화하려고 할 때 다음과 같은 오류가 점점 오전 :

replication paused (e.g. user went offline) 
pouchdb-6.3.4.min.js:9 GET https://<ipaddress>:6984/pouchnotes/ net::ERR_CONNECTION_RESET 

동기화 기능

PouchNotesObj.prototype.syncnoteset = function (start, end) { 
    var start = new Date().getTime(); 
    document.getElementById("syncbutton").innerHTML = "Syncing..."; 

    var i, 
    that = this, 

    options = { 
    doc_ids:['1450853987668'] 
    }; 

    if(start){ options.startkey = start; } 
    if(end){ options.endkey = end; } 

    PouchDB.sync(this.dbname, this.remote, { retry: true }) 
    .on('change', function (info) { 
     console.log('change'); 
     document.getElementById("syncbutton").innerHTML = "Sync Notes"; 
    }).on('paused', function() { 
     console.log('replication paused (e.g. user went offline)'); 
     document.getElementById("syncbutton").innerHTML = "Sync Notes"; 
    }).on('active', function() { 
     console.log('replicate resumed (e.g. user went back online)'); 
     document.getElementById("syncbutton").innerHTML = "Sync Notes"; 
    }).on('denied', function (info) { 
     console.log('a document failed to replicate, e.g. due to permissions'); 
     document.getElementById("syncbutton").innerHTML = "Sync Notes"; 
    }).on('complete', function (info) { 
     console.log("Sync Complete"); 
     document.getElementById("syncbutton").innerHTML = "Sync Notes"; 
     that.viewnoteset(); 
     that.formobject.reset();  
     that.show(that.formobject.dataset.show); 
     that.hide(that.formobject.dataset.hide); 
     var end = new Date().getTime(); 
     console.log("Time Taken - " + (end - start) + " ms"); 
    }).on('error', function (error) { 
     console.log("Sync Error:" + JSON.stringify(error)); 
     alert("Sync Error:" + error); 
     that.showerror(error); 
    }); 

} 

편집를 추가 : 내가 설정해야 할 이거? replication job config on Fauxton

답변

1

그것은 I had not configured the firewall correctly으로 밝혀졌습니다.

이 문제를 놓치지 않는 사람 : 로컬 호스트의 Fauxton에 액세스하려면 SSH 터널링 만 있으면됩니다. API에 액세스 할 필요가 없습니다.

access the API via https, the port is 6984 (5984 아님)을 원하고 Google App Engine이 아닌 서버의 경우 Nginx set up to provide a SSL certificate과 같은 것이 필요합니다. Google App Engine에는 SSL 인증서가 제공됩니다.

하지만 여전히 configure CouchDB to enable SSL이 필요합니다.

Thanks to the guys at the CouchDB user mailing list for their input.