پرش به مطلب اصلی

مشکلات احتمالی


در این قسمت مشکلات احتمالی که ممکن است با آن برخورد کنیم را بررسی کرده و راه حل آن را نیز مشاهده میکنیم.

مشکل بالا نیامدن سرویس و ERR_OSSL_EVP​

مشکلات احتمالی در سرویس NodeJS چابکان

در صورتی که سرویس شما دارای ارور 502 بود و در لاگ های خود ارور OSSL را مشاهده نمودید، میتوانید با روش زیر این مشکل را برطرف نمایید. با اضافه کردن متغیر محیطی زیر در قسمت تنظیمات سرویس خود این مشکل را برطرف نمایید.

# name = value

NODE_OPTIONS = --openssl-legacy-provider

مشکل Client does not support authentication​

مشکلات احتمالی در سرویس NodeJS چابکان

در صورتی که برنامه با مشکل در اتصال به پایگاه داده برخورد کرد و یا با ارور ER_NOT_SUPPORTED_AUTH_MODE و یا Handshake.ErrorPacket مواجه شدید میتوانید از روش زیر برای رفع این مشکل استفاده بفرمایید.

برای رفع این مشکل میبایست به جای استفاده از پکیج mysql از پکیج mysql2 استفاده نمایید. برای این کار کافیست این پکیج را نصب نمایید:

npm install mysql2

سپس، کد اتصال خود را تغییر دهید و از mysql2 به جای mysql استفاده کنید:

const mysql = require('mysql2');

مشکل CORS در نود جی اس​

در صورت برخورد با ارور CORS No Allow Credentials و یا CORS Missing Allow Header میتوانید از راه حل زیر با توجه به framework سرویس خود استفاده نمایید.

Express​

در صورتی که از Express استفاده مینمایید ابتدا میبایست cors را نصب نمایید.

npm install cors

و سپس مانند نمونه زیر میتوانید از آن استفاده نمایید:

const express = require('express');
const app = express();

const allowedOrigin = 'https://domain';

app.use((req, res, next) => {
// تنظیمات CORS
res.setHeader('Access-Control-Allow-Origin', allowedOrigin);
res.setHeader('Access-Control-Allow-Credentials', 'true');
res.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, DELETE');
next();
});

// تعریف مسیر مورد نظر
app.get('/your-path', (req, res) => {
// ارسال پاسخ درخواست
});

app.listen(3000, () => {
console.log('سرور اجرا شد در درگاه 3000');
});

— مقالات مرتبط:

— CORS Installation documentation

Fastify​

در صورتی که از Fastify استفاده مینمایید میبایست افزونه‌ی fastify-express و cors را به صورت زیر در برنامه خود معرفی نمایید.

await fastify.register(require('fastify-express'))
fastify.use(require('cors')())

ارور ossl​

در صورتی که ارور ossl را دریافت نمودید، میتوانید با اضافه کردن متغیر محیطی زیر در تنظیمات سرویس خود این مشکل را برطرف نمایید.

# name: value

NODE_OPTIONS : --openssl-legacy-provider

ارور Client does not support authentication​

در صورت برخورد با این ارور میبایست به جای استفاده از پکیج mysql از پکیج mysql2 استفاده نمایید. برای این کار کافیست این پکیج را نصب نمایید:

npm install mysql2

سپس، کد اتصال خود را تغییر دهید و از mysql2 به جای mysql استفاده کنید:

const mysql = require('mysql2');

خرید سرویس ابری NodeJs از چابکان