Я хотел бы собирать информацию с установленного в частном порядке сервера Jira, но у меня возникла проблема с этим.
Конечно, я могу подключиться к сайту с помощью моего браузера Chrome, и он также найдет вызов REST API из адресной строки браузера - https://myjiraaddr/rest/api/2/search.
Отправка запроса REST API с помощью curl работает нормально с параметром -u (имя пользователя: пароль) из командной строки.
Но если я попробую это с помощью nodejs и получу ошибку, то скажу, что самоподписанный сертификат в цепочке сертификатов.
Может ли кто-нибудь объяснить, что делает эти различия и как это исправить?
Заранее спасибо :)
JiraApi = require('jira').JiraApi;
var jira = new JiraApi('https', 'myjiraaddress', 443, 'username', 'password', '2.0.alpha1');
jira.getCurrentUser(function(error, issue) {
console.info(error);
});
он печатает...
Status: Error: self signed certificate in certificate chain
И ошибка, если я использую пакет jira-client npm...
RequestError: Error: self signed certificate in certificate chain
at new RequestError (/Users/hyoon/dev/node/work-tracker/node_modules/request-promise-core/lib/errors.js:14:15)
at Request.plumbing.callback (/Users/hyoon/dev/node/work-tracker/node_modules/request-promise-core/lib/plumbing.js:87:29)
at Request.RP$callback [as _callback] (/Users/hyoon/dev/node/work-tracker/node_modules/request-promise-core/lib/plumbing.js:46:31)
at self.callback (/Users/hyoon/dev/node/work-tracker/node_modules/request/request.js:185:22)
at Request.emit (events.js:310:20)
at Request.onRequestError (/Users/hyoon/dev/node/work-tracker/node_modules/request/request.js:877:8)
at ClientRequest.emit (events.js:310:20)
at TLSSocket.socketErrorListener (_http_client.js:426:9)
at TLSSocket.emit (events.js:310:20)
at emitErrorNT (internal/streams/destroy.js:92:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
at processTicksAndRejections (internal/process/task_queues.js:84:21) {
cause: Error: self signed certificate in certificate chain
at TLSSocket.onConnectSecure (_tls_wrap.js:1474:34)
at TLSSocket.emit (events.js:310:20)
at TLSSocket._finishInit (_tls_wrap.js:917:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:687:12) {
code: 'SELF_SIGNED_CERT_IN_CHAIN'
},
error: Error: self signed certificate in certificate chain
at TLSSocket.onConnectSecure (_tls_wrap.js:1474:34)
at TLSSocket.emit (events.js:310:20)
at TLSSocket._finishInit (_tls_wrap.js:917:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:687:12) {
code: 'SELF_SIGNED_CERT_IN_CHAIN'
},
Я добавил пример кода и некоторые ошибки.
Если вы имеете дело с самоподписанным сертификатом, вы можете обойти строгую проверку, установив для параметра strictSSL
значение false
, как описано в документации :
const jira = new JiraApi('https', 'myjiraaddress', 443, 'username', 'password', '2.0.alpha1', false, false);
Если вы не хотите обходить проверку, вам, вероятно, придется разветвить библиотеку и изменить способ настройки запроса, чтобы добавить свой сертификат. См. этот вопрос для получения дополнительной информации: Как использовать модуль запроса node.js для выполнения SSL-вызова с моим собственным сертификатом?
Пожалуйста, добавьте свой код nodejs, показывающий, как вы запрашиваете jira-api.