اذهب إلى المحتوى
  • 0

ظهور الخطأ CERT_HAS_EXPIRED في express - node.js

Tamim Fahed

السؤال

أستخدم request لإرسال طلب https إلى خادم الويب، ولكن مهما أقوم بتمرير متغيرات أحصل على الخطأ التالي:

CERT_HAS_EXPIRED

وهذا هو الكود الخاص بإرسال الطلب:

request({
        url: 'https://www.example.com/api/users',
    }, function(error, response, body) {
        if(!error && response.statusCode == 200) {
            res.json(JSON.parse(body));
        } else {
           res.json(response.statusCode, {'error': 'error'})
        }
});

حاولت إضافة المتغيّر strictSSL: false إلى الطلب ولكن بقي نفس الخطأ. كيف يمكنني حل هذه المشكلة؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

إن تعطيل HTTPS / SSL / TLS خطير جداً، يمكنك استخدام agent مع rejectUnauthorized وبذلك يتم التعطيل على مستوى الطلب التابع لهذا الموقع بدلاً من تعطيل الفحص على البيئة بأكملها وهو أكثر أماناً:

var request = require('request');

const options = {
  host: 'www.example.com'
, port: '443'
, path: '/'
, rejectUnauthorized: false
};

const agent = new https.Agent(options);

request({
  url: "https://www.example.com/api/users"
, method: 'GET'
, agent: agent
}, function (err, resp, body) {
  // ...
});

أما في حال كنت تستخدم شهادة موقّعة ضمنياً، يمكنك إضافة التالي إلى العميل agent:

options.ca = [ selfSignedRootCaPemCrtBuffer ];

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكنك استخدام الطريقة التي اقترحها المدرب @Sam Ahw وهي استخدام agent ولكن بطريقة أكثر إيجازاً وهي كالتلي

request({
  url: url,
  agentOptions: {
    rejectUnauthorized: false
  }
}, function (err, resp, body) {
  // ...
});

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • -2

أضف هذا في الجزء العلوي من الملف الخاص بك:

process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';

يؤدي هذا السطر الى تعطيل فحص HTTPS / SSL / TLS عبر بيئة node.js بأكملها

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...