В следующем коде я пытался проверить, что UUID
уже сгенерировано или нет.Я попытался использовать https.request
вместо https.get
, чтобы проверить, может быть, ошибка устранена, но результат был тем же.Кроме того, я добавляю key
и crt
в https.request
, который используется в loopback SSL config
для решения проблемы, но никаких различий не обнаружено.
const options = {
hostname: 'app.mydomain.com', //same as localhost:3000
port: 443,
path: '/api/uuids?filter[where][uuid]=' + UUID,
method: 'GET',
key: fs.readFileSync(path.join(__dirname, './../../server/ssl/domain.key')),
cert: fs.readFileSync(path.join(__dirname, './../../server/ssl/domain.crt'))
};
console.log(options);
const req = https.request(options, (res) => {
res.on('data', (d) => {
d = JSON.parse(d)
console.log(d);
if (d.length == 1 && d[0].uuid == UID) {
return 200;
}
else {
return 500;
}
});
});
req.on('error', (e) => {
console.error(e);
});
Ошибка консоли:
(node:4452) [DEP0079] DeprecationWarning: Custom inspection function on Objects via .inspect() is deprecated
{ Error: unable to verify the first certificate
at TLSSocket.onConnectSecure (_tls_wrap.js:1049:34)
at TLSSocket.emit (events.js:182:13)
at TLSSocket._finishInit (_tls_wrap.js:631:8) code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE' }
Я также пытался использовать:
const https = require('https').globalAgent.options.ca = require('ssl-root-cas/latest').create();
In the declaration of `https` but the following error appears:
(node:4500) [DEP0079] DeprecationWarning: Custom inspection function on Objects via .inspect() is deprecated
Unhandled error for request POST /registrations: TypeError: https.request is not a function
at checkUUID (C:\apps\app\common\models\registration.js:60:20)
at C:\apps\app\common\models\registration.js:16:17
at notifySingleObserver (C:\apps\app\node_modules\loopback-datasource-juggler\lib\observer.js:160:22)
at C:\apps\app\node_modules\async\dist\async.js:3110:16
at replenish (C:\apps\app\node_modules\async\dist\async.js:1011:17)
at C:\apps\app\node_modules\async\dist\async.js:1016:9
at eachLimit$1 (C:\apps\app\node_modules\async\dist\async.js:3196:24)
at Object.<anonymous> (C:\apps\app\node_modules\async\dist\async.js:1046:16)
at doNotify (C:\apps\app\node_modules\loopback-datasource-juggler\lib\observer.js:157:11)
at doNotify (C:\apps\app\node_modules\loopback-datasource-juggler\lib\observer.js:155:49)
at doNotify (C:\apps\app\node_modules\loopback-datasource-juggler\lib\observer.js:155:49)
at doNotify (C:\apps\app\node_modules\loopback-datasource-juggler\lib\observer.js:155:49)
at Function.ObserverMixin._notifyBaseObservers (C:\apps\app\node_modules\loopback-datasource-juggler\lib\observer.js:178:5)
at Function.ObserverMixin.notifyObserversOf (C:\apps\app\node_modules\loopback-datasource-juggler\lib\observer.js:153:8)
at Function.ObserverMixin._notifyBaseObservers (C:\apps\app\node_modules\loopback-datasource-juggler\lib\observer.js:176:15)
at Function.ObserverMixin.notifyObserversOf (C:\apps\app\node_modules\loopback-datasource-juggler\lib\observer.js:153:8)
дополнительная информация
- Я использую свой персональный сервер в качестве vps / выделенного сервера
- Я использую Nginx с прокси-сервером для app.mydomain.com mydomain.com + wwww.mydomain.com + app.mydomain.com. Все они доступны только
ssl
и port 443
. - Я использовал zerossl для получения сертификатов для моего домена и подписчиков.
- Я использовал те же
key
и cert
, которые сайт генерировал для
loopbackjs ssl config