"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > NestJS एप्लिकेशन में CORS (क्रॉस-ओरिजिनल रिसोर्स शेयरिंग) मुद्दों को संभालना और डिबग करना

NestJS एप्लिकेशन में CORS (क्रॉस-ओरिजिनल रिसोर्स शेयरिंग) मुद्दों को संभालना और डिबग करना

2024-08-15 को प्रकाशित
ब्राउज़ करें:180

Handling and debugging CORS (Cross-Origin Resource Sharing) issues in a NestJS Application

NestJS ऐप में CORS (क्रॉस-ओरिजिनल रिसोर्स शेयरिंग) मुद्दों को संभालना और डिबग करना थोड़ा मुश्किल हो सकता है। सीओआरएस अनिवार्य रूप से सुरक्षा तंत्र है जो यह सुनिश्चित करता है कि आपका फ्रंटएंड और बैकएंड एक-दूसरे से ठीक से बात कर सकें, खासकर जब वे अलग-अलग डोमेन पर हों। यहां NestJS में CORS से निपटने और सामान्य समस्याओं के निवारण के बारे में एक विस्तृत जानकारी दी गई है:

1. NestJS में CORS सक्षम करना

NestJS एप्लिकेशन में CORS को सक्षम करने के लिए, आपको इसे main.ts फ़ाइल में कॉन्फ़िगर करना होगा जहां NestJS एप्लिकेशन को इंस्टेंट किया जाता है। आप NestJS NestFactory द्वारा प्रदान की गई EnableCors पद्धति का उपयोग करके CORS को सक्षम कर सकते हैं।

उदाहरण कॉन्फ़िगरेशन:

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);

  // Enabling CORS with default settings
  app.enableCors();

  // Enabling CORS with specific settings
  app.enableCors({
    origin: 'http://your-frontend-domain.com', // Allow requests from this domain
    methods: 'GET,HEAD,PUT,PATCH,POST,DELETE', // Allow these methods
    allowedHeaders: 'Content-Type, Authorization', // Allow these headers
    credentials: true, // Allow credentials (cookies, HTTP authentication)
  });

  await app.listen(3000);
}
bootstrap();

2. CORS मुद्दों को डीबग करना

यदि आप CORS समस्याओं का सामना करते हैं, तो उन्हें डीबग करने और हल करने के लिए इन चरणों का पालन करें:

सीओआरएस कॉन्फ़िगरेशन की जांच करें

  • अनुमत मूल सत्यापित करें: सुनिश्चित करें कि ऐप.एनेबलकोर्स कॉन्फ़िगरेशन में मूल संपत्ति में आपके फ्रंटएंड एप्लिकेशन का डोमेन शामिल है।
  • तरीके और हेडर: पुष्टि करें कि तरीके और अनुमत हेडर गुण आपके फ्रंटएंड एप्लिकेशन की आवश्यकताओं के अनुसार सही ढंग से सेट किए गए हैं।

नेटवर्क अनुरोधों का निरीक्षण करें

  • ब्राउज़र DevTools: अनुरोध और प्रतिक्रिया हेडर का निरीक्षण करने के लिए ब्राउज़र के डेवलपर टूल (आमतौर पर "नेटवर्क" टैब के अंतर्गत पाया जाता है) का उपयोग करें। प्रतिक्रिया शीर्षलेखों में एक्सेस-कंट्रोल-अनुमति-उत्पत्ति, एक्सेस-नियंत्रण-अनुमति-तरीके और एक्सेस-नियंत्रण-अनुमति-शीर्षलेख देखें।
  • प्रीफ़्लाइट अनुरोध: यदि आप गैर-मानक HTTP विधियों या कस्टम हेडर का उपयोग कर रहे हैं, तो सुनिश्चित करें कि सर्वर प्रीफ़्लाइट अनुरोधों (विकल्प अनुरोधों) को सही ढंग से संभालता है।

सर्वर लॉग सत्यापित करें

  • कंसोल लॉग्स: अनुरोध सर्वर तक पहुंच रहे हैं या नहीं और सीओआरएस हेडर सही तरीके से लागू किए जा रहे हैं या नहीं यह सत्यापित करने के लिए सर्वर-साइड कोड में कंसोल लॉग जोड़ें।
  • त्रुटि संदेश: CORS कॉन्फ़िगरेशन से संबंधित किसी भी त्रुटि के लिए सर्वर लॉग देखें।

प्रॉक्सी कॉन्फ़िगरेशन की जांच करें

  • स्थानीय विकास: यदि आप स्थानीय विकास के लिए प्रॉक्सी का उपयोग कर रहे हैं (उदाहरण के लिए, रिएक्ट ऐप में http-प्रॉक्सी-मिडलवेयर), तो सुनिश्चित करें कि यह सही ढंग से कॉन्फ़िगर किया गया है और अपेक्षा के अनुरूप अनुरोधों को अग्रेषित कर रहा है।
  • प्रॉक्सी हेडर: सुनिश्चित करें कि प्रॉक्सी किसी भी आवश्यक CORS हेडर को संशोधित या अलग नहीं कर रहा है।

curl के साथ परीक्षण करें

  • cURL कमांड: एपीआई एंडपॉइंट्स का सीधे परीक्षण करने के लिए cURL का उपयोग करें और देखें कि CORS हेडर सही तरीके से लौटाए गए हैं या नहीं। इससे यह पता लगाने में मदद मिल सकती है कि समस्या फ्रंटएंड या बैकएंड कॉन्फ़िगरेशन के साथ है या नहीं।
  curl -i -X OPTIONS http://localhost:3000/api/v1/resource -H "Origin: http://your-frontend-domain.com"

सामान्य सीओआरएस मुद्दे

  • बेमेल मूल: सुनिश्चित करें कि अनुरोध में मूल CORS कॉन्फ़िगरेशन में निर्दिष्ट मूल से मेल खाता है।
  • गलत हेडर: सत्यापित करें कि सभी आवश्यक हेडर अनुमत हेडर कॉन्फ़िगरेशन में शामिल हैं।
  • अनुपलब्ध क्रेडेंशियल: यदि क्रेडेंशियल शामिल हैं (उदाहरण के लिए, कुकीज़), तो सुनिश्चित करें कि क्रेडेंशियल: CORS कॉन्फ़िगरेशन में सत्य सेट है।

चीजों को खत्म करने के लिए, NestJS एप्लिकेशन में CORS मुद्दों को संभालना यह सुनिश्चित करने के लिए आता है कि आपका फ्रंटएंड और बैकएंड सही अनुमतियों के साथ संचार कर रहे हैं। उचित सीओआरएस कॉन्फ़िगरेशन सेट करके, अपने अनुरोधों की जांच करके, और ब्राउज़र और बैकएंड टूल के साथ डिबगिंग करके, आप अपने रास्ते में आने वाली अधिकांश समस्याओं को हल कर सकते हैं। याद रखें, दोनों सिरों पर स्पष्ट और सटीक कॉन्फ़िगरेशन सहज बातचीत की कुंजी हैं। जब तक सब कुछ निर्बाध रूप से काम न करे तब तक प्रयोग करते रहें और अपने सेटअप को परिष्कृत करते रहें। शुभकामनाएँ, और सुखद नेस्टिंग!!!

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/doozieakshay/handling-and-debugging-cors-cross-origin-resource-sharing-issues-in-a-nestjs-application-2gj4?1 यदि कोई उल्लंघन है , कृपया स्टडी_गोलंग @163.कॉमडिलीट से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3