2017-01-03 5 views
0

Я использую Parse Server локально без каких-либо проблем, пока не включу SSL. Теперь у меня есть число unauthorized и другие ошибки, которые мешают мне подключаться к удаленной БД.Parse Server подключается к удаленной базе данных по SSL

База данных размещена с помощью NodeChef, и они предоставляют sslCAFile, который я попытался добавить в конфигурацию Parse Server, как рекомендовано 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.

Я могу подтвердить, что мне не нужен сертификат для подключения к моей удаленной базе данных в NodeChef с использованием ?ssl=true в моей строке подключения.

Хотя я смущаюсь, я оставлю это здесь, может помочь кому-то.