2016-08-05 69 views
3

我有一個虛擬linux機器上運行的couchdb。這個數據庫有cors啓用和設置。我已經添加了一個管理員用戶和密碼到數據庫。我也有require_valid_user設置爲true。 我正嘗試使用下面的代碼在網上與couchdb在線同步pouchdb。如果我只是通過db(1)的地址 ,我會得到一個對話框詢問用戶和密碼。該示例中的同步工作。 如果我嘗試在URL中傳遞用戶名和密碼(如下面的2所示),則會出現同步錯誤,並顯示消息 「getCheckpoint reject with with」。 任何建議,我做錯了什麼或另一種方法,我應該採取與此將不勝感激。用戶名和密碼Couchdb同步訪問

謝謝

P.S.我可以使用用戶和密碼瀏覽到URL。

var remoteCouch = "http://192.168.1.7:5984/mydb"; //1 
//var remoteCouch = "http://userid:[email protected]:5984/mydb"; //2 
sync(); 

function sync() { 
    var opts = {live: true}; 
    db.sync(remoteCouch,opts,syncError); 
} 

回答

3

我有同樣的問題,試圖同步到cloudant.com上的couchDB完全相同的錯誤消息。對我而言,解決方案是在遠程服務器的URL中使用https://而不是http://。 URL的格式應該是:

https://<api_key>:<key_passwd>@<username>.cloudant.com/<db_name>

所以,雖然我沒有本地安裝的數據庫來測試這個呢,我懷疑你的錯誤從沙發上請求重定向到當安全連接的事實莖你提供你的憑證(場景1)。在場景2中不發生重定向。