2017-01-03 127 views
0

我一直在本地使用解析服務器,沒有任何問題,直到我啓用了SSL。現在我有一些unauthorized和其他錯誤,阻止我連接到遠程數據庫。解析服務器通過SSL連接到遠程數據庫

數據庫由NodeChef託管,它們提供了一個sslCAFile,我試圖添加到我的Parse服務器配置中,建議here。但是,我仍然無法連接,並在終端中出現以下錯誤。

warn: Unabled to ensure uniqueness for user email addresses: Error: unable to get issuer certificate at Error (native) at TLSSocket. (_tls_wrap.js:1000:38) at emitNone (events.js:67:13) at TLSSocket.emit (events.js:166:7) at TLSSocket._finishInit (_tls_wrap.js:567:8) error: Uncaught internal server error. { [MongoError: unable to get issuer certificate] name: 'MongoError', message: 'unable to get issuer certificate' } Error: unable to get issuer certificate at Error (native) at TLSSocket. (_tls_wrap.js:1000:38) at emitNone (events.js:67:13) at TLSSocket.emit (events.js:166:7) at TLSSocket._finishInit (_tls_wrap.js:567:8)

我的解析服務器的配置是這樣的:

var api = new ParseServer({ 
    databaseURI: databaseUri || '', 
    databaseOptions: { 
     mongos: { 
      ssl: true, 
      sslValidate: true, 
      allowConnectionsWithoutCertificates: true, 
      sslCA: [fs.readFileSync('SSLCA.pem')] // cert from nodechef dashboard 
     } 
    }, 
    cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js', 
    appId: process.env.APP_ID 
}) 

我試圖改變服務器URL爲HTTPS客戶端和服務器,並無濟於事之間的每一個組合都上。

非常感謝。

回答

0

問題是,我仍然有一個傳統的JavaScript鍵集。如果在Parse Server初始化選項中設置了此可選參數,那麼它完全拒絕使用新的JS客戶端進行連接(完全正確),因爲您只需要一個App ID和Initialisation函數。

我可以確認我不需要一個證書在我的連接字符串中使用?ssl=true在NodeChef連接到我的遠程數據庫。

雖然令人尷尬,我會離開這裏,可能會幫助別人。

相關問題