Запуск Express.js + Parse Server и попытка настроить HTTPS на маршруте Parse API с помощью библиотеки JS 'https'.
Фрагмент кода
var https = require ( 'https');
....
https.createServer (config.certificate, app) .listen (порт, функция () {
console.log ('parse-server-example работает на порту' + порт + '.');
});
// Это включит сервер реального времени Live Query
ParseServer.createLiveQueryServer (https);
Действия по воссозданию
Установите правильные библиотеки
Использование: Node (4.5), https (1.0.0)
Запустите «node index.js»
Ожидаемые результаты
Сервер должен запуститься без проблем работает на HTTPS-порту
https: // mydomainhere: 4444 / parse
Фактический результат
~ / parse / node_modules / parse-server / lib / ParseServer.js: 401
бросить ошибку;
^
TypeError: this._server.once не является функцией
на новом WebSocketServer (~ / parse / node_modules / parse-server / node_modules / ws / lib / WebSocketServer.js: 78: 18)
в новом ParseWebSocketServer (~ / parse / node_modules / parse-server / lib / LiveQuery / ParseWebSocketServer.js: 26: 13)
в новом ParseLiveQueryServer (~ / parse / node_modules / parse-server / lib / LiveQuery / ParseLiveQueryServer.js: 103: 33)
в Function.createLiveQueryServer (~ / parse / node_modules / parse-server / lib / ParseServer.js: 429: 14)
на объекте. (~ / parse / parse.js: 63: 13)
в Module._compile (module.js: 409: 26)
в Object.Module._extensions..js (module.js: 416: 10)
в Module.load (module.js: 343: 32)
в Function.Module._load (module.js: 300: 12)
в Function.Module.runMain (module.js: 441: 10)
Настройка среды
Использование: Node (4.5), https (1.0.0), parse-server («2.2.22»), Linux Centos
У меня была та же проблема, и я сообщил о проблеме с сервером синтаксического анализа.
Flovilmart помог с этим и выяснил, что правильный способ сделать это - объявить новую переменную для https-сервера. В вашем примере вы должны использовать:
var https = require ('https'); .... var httpsServer = https.createServer (config.certificate, app) .listen (port, function () { console.log ('parse-server-example, работающий на порту' + порт + '.'); }); // Это включит сервер реального времени Live Query ParseServer.createLiveQueryServer (httpsServer);
вы можете увидеть полную беседу здесь: https://github.com/ParsePlatform/parse-server/issues/3165#event-881061654
Хотя этот вопрос задавался давно, я Я пытаюсь ответить на этот вопрос для будущих читателей, поскольку не было опубликовано подходящего ответа.
var express = require('express');
var ParseServer = require('parse-server').ParseServer;
var app = express();
var fs = require('fs');
var api = new ParseServer({
databaseURI: 'mongodb://user:pass@localhost:27017/parse', // Connection string for your MongoDB database
appId: 'your app id',
masterKey: 'your app master key', // Keep this key secret!
serverURL: 'https://localhost:1337/parse' // Don't forget to change to https if needed
});
var options = {
key: fs.readFileSync('/etc/letsencrypt/live/example.com/privkey.pem'),
cert: fs.readFileSync('/etc/letsencrypt/live/example.com/fullchain.pem')
};
// Serve the Parse API on the /parse URL prefix
app.use('/parse', api);
var httpsServer = require('https').createServer(options,app);
httpsServer.listen(1337, function() {
console.log('parse-server-example running on port 1337.');
});