প্রিফলাইট অনুরোধের প্রতিক্রিয়া অ্যাক্সেস নিয়ন্ত্রণ চেকটি পাস করে না


456

আমি অ্যামাজন ওয়েব পরিষেবাদিগুলিতে একটি REST এপিআই কল করতে এনজিআরসোর্স ব্যবহার করে এই ত্রুটিটি পেয়েছি:

এক্সএমএলএইচটিপিআরকোয়েস্ট http://server.apiurl.com:8000/s/login?login=facebook লোড করতে পারে না । প্রিফলাইট অনুরোধের প্রতিক্রিয়া অ্যাক্সেস নিয়ন্ত্রণ চেকটি পাস করে না: অনুরোধকৃত উত্সটিতে কোনও 'অ্যাক্সেস-কন্ট্রোল-মঞ্জুরি-উত্স' শিরোনাম উপস্থিত নেই। উত্স ' http: // লোকালহোস্ট ' এর ফলে অ্যাক্সেসের অনুমতি নেই। ত্রুটি 405

সার্ভিস:

socialMarkt.factory('loginService', ['$resource', function($resource){    
    var apiAddress = "http://server.apiurl.com:8000/s/login/";
    return $resource(apiAddress, { login:"facebook", access_token: "@access_token" ,facebook_id: "@facebook_id" }, {
                getUser: {method:'POST'}
            });
}]);

নিয়ন্ত্রক:

[...]
loginService.getUser(JSON.stringify(fbObj)),
                function(data){
                    console.log(data);
                },
                function(result) {
                    console.error('Error', result.status);
                }
[...]

আমি ক্রোম ব্যবহার করছি এবং এই সমস্যাটি সমাধানের জন্য আর কী করতে হবে তা আমি জানি না। এমনকি আমি উত্স থেকে শিরোনাম গ্রহণ করতে সার্ভারটি কনফিগার করেছি localhost


বিভ্রান্ত: আপনি কি "সার্ভারটি কনফিগার করেছেন" বা এটি "অ্যামাজন ওয়েব সার্ভিসে একটি রেস্ট এপি"?
ডান্ডাভিস

3
আপনি সার্ভারের দিকে CORS সক্ষম করার জন্য পরিষ্কারভাবে যথেষ্ট কাজ করেন নি। প্রতিক্রিয়া শিরোনামগুলির নমুনা পোস্ট করুন
Charlietfl

4
যেভাবেই হোক আপনার ডাউন ভোটগুলি ভুল। তিনি তার স্থানীয় মেশিনে তার ফাইলগুলি হোস্ট করছেন। সে পিছনের প্রান্তে কী ধরণের কনফিড করে তা বিবেচ্য নয়। কৌণিক এই প্রাক ফ্লাইটের অনুমতি দেবে না।
ই। ম্যাগগিনি

3
মন্তব্যগুলির জন্য Thx, যখন আমি ব্রাউজারটিকে সুরক্ষা সক্রিয় করার জন্য সেট করি তখন এটি কাজ করেছিল
আন্দ্রে মেন্ডেস

1
@ আন্ড্রে তবে সুরক্ষা বন্ধ করা কেবল একটি কুশ্রী কাজ, যেখানে আপনি সুরক্ষা নিয়ে আপস করছেন, আপনার সমস্যার সমাধান করতে পারে না ...
শিবি

উত্তর:


240

আপনি সিওআরএস ইস্যুতে চলছে।

এটি ঠিক করার / বিভিন্নভাবে কাজ করার বিভিন্ন উপায় রয়েছে।

  1. সিওআরএস বন্ধ করুন। উদাহরণস্বরূপ: ক্রোমে কর্স কীভাবে বন্ধ করবেন
  2. আপনার ব্রাউজারের জন্য একটি প্লাগইন ব্যবহার করুন
  3. এনগিনেক্সের মতো একটি প্রক্সি ব্যবহার করুন। কিভাবে সেট আপ করতে উদাহরণ
  4. আপনার সার্ভারের প্রয়োজনীয় সেটআপটি দিয়ে যান। এটি আপনি আপনার ইসি 2 উদাহরণে যে ওয়েব সার্ভারটি লোড করেছেন তার আরও বেশি একটি উপাদান (ধরে নেওয়া যায় যে এটিই "অ্যামাজন ওয়েব পরিষেবা" বলতে আপনার অর্থ বোঝায়)। আপনার নির্দিষ্ট সার্ভারের জন্য আপনি সক্ষম সিওআরএস ওয়েবসাইটটি উল্লেখ করতে পারেন

আরও ভার্চুয়ালভাবে, আপনি লোকালহোস্ট থেকে api.serverurl.com অ্যাক্সেস করার চেষ্টা করছেন। এটি ক্রস ডোমেন অনুরোধের সঠিক সংজ্ঞা।

হয় কেবল আপনার কাজ শেষ করার জন্য এটি বন্ধ করে (ঠিক আছে, আপনি যদি অন্য সাইটগুলিতে যান এবং কেবল রাস্তায় ক্যানকে লাথি মারেন) তবে আপনি এমন একটি প্রক্সি ব্যবহার করতে পারেন যা আপনার ব্রাউজারকে মনে করে যে সমস্ত অনুরোধ স্থানীয় হোস্টের কাছ থেকে আসে যখন সত্যিই আপনার স্থানীয় সার্ভার রয়েছে যা তখন দূরবর্তী সার্ভারকে কল করে।

সুতরাং api.serverurl.com লোকালহোস্টে পরিণত হতে পারে: 8000 / এপিআই এবং আপনার স্থানীয় এনজিনেক্স বা অন্যান্য প্রক্সি সঠিক গন্তব্যে প্রেরণ করবে।


এখন জনপ্রিয় চাহিদা অনুসারে, আরও 100% কর্স তথ্য .... একই দুর্দান্ত স্বাদ!


এবং নিম্নগামীদের জন্য .... সিওআরএসকে বাইপাস করা হ'ল যা কেবল সামনের প্রান্তটি শিখছে তাদের জন্য প্রদর্শিত। https://codecraft.tv/courses/angular/http/http-with-promises/


773
সঠিকভাবে বাস্তবায়নের CORS এর সুস্পষ্ট এক বাদ
charlietfl

40
ভোট কমিয়ে দেওয়া সহজ। ঝুঁকি নিতে খুব সহজ নিজেকে আমার বন্ধু। এবং এই সব ঠিক একটি দেব পরিবেশে কাজ করে।
ই। ম্যাগগিনি

3
এটা আসলে কাজ করে। আমি ওয়েব সুরক্ষা অক্ষম করতে পতাকা যুক্ত করেছি। উন্নয়নের জন্য ঠিক আছে।
আন্দ্রে মেন্ডেস

15
কিভাবে?
গ্রিনএজজেড

3
ধন্যবাদ আপনি আমার দিন বাঁচিয়েছেন। কেবলমাত্র প্রথম বিকল্পটি ব্যবহার করা হয়েছে: সি: \ প্রোগ্রাম ফাইল (x86) \ গুগল \ ক্রোম \ অ্যাপ্লিকেশন> chrome.exe --user-data-dir = "সি: \ ক্রোম ডে সেশন" - অক্ষম-ওয়েব-সুরক্ষা। থেকে: stackoverflow.com/questions/3102819/...
Harsimer

169

আমার "এপিআই সার্ভার" একটি পিএইচপি অ্যাপ্লিকেশন তাই এই সমস্যার সমাধানের জন্য আমি কাজের নিচের সমাধানটি পেয়েছি:

সূচিপত্রগুলিতে রেখাগুলি রাখুন ph

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');

3
আমি সম্মত, এটি গৃহীত উত্তরের চেয়ে ভাল তবে এই লাইনগুলি অনুলিপি করার সময় সতর্ক থাকুন, পদ্ধতি এবং উত্সটি সংশোধন করার বিষয়টি নিশ্চিত করুন।
আমির সাভান্দ

11
এটি কৌনিক 6 প্রকল্পে কোথায় রাখবেন?
হোয়াটহেফিশ

@CodyBugstein এবং কোন আউটপুট আগে whatthefish করা
Garet Claborn

আমার ক্লায়েন্ট অ্যাপ্লিকেশন কাজ বন্ধ করে দিয়েছে যখন আমি একটি শিরোনাম যুক্ত করেছি যা কেবলমাত্র কয়েকটি সার্ভারের জন্য প্রয়োজনীয়। যদি অনুরোধটিতে কোনও কাস্টম শিরোনাম অন্তর্ভুক্ত থাকে তবে তাদের তালিকাভুক্ত করা দরকার Access-Control-Allow-Headers
z0r

46

অ্যাসপনেটকোরের ওয়েব এপিআইতে, "মাইক্রোসফ্ট.এএসপনেটকোর.কর্স" (ভেরি ১.১.১) যোগ করে এবং স্টার্টআপ.সিগুলিতে নীচের পরিবর্তনগুলি যুক্ত করে এই সমস্যাটি ঠিক হয়ে গেছে।

public void ConfigureServices(IServiceCollection services)
{ 
    services.AddCors(options =>
    {
          options.AddPolicy("AllowAllHeaders",
                builder =>
            {
                    builder.AllowAnyOrigin()
                           .AllowAnyHeader()
                           .AllowAnyMethod();
                });
    });
    .
    .
    .
}

এবং

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{


    // Shows UseCors with named policy.
    app.UseCors("AllowAllHeaders");
    .
    .
    .
}

এবং [EnableCors("AllowAllHeaders")]নিয়ামক লাগানো ।


17
যদি আপনি ক্রস সাইট স্ক্রিপ্টিং দুর্বলতাগুলি তৈরি করতে চান তবে এটি একটি উত্তম উত্তর! দয়া করে কখনও এটি করবেন না! সুরক্ষা সমস্যা এড়াতে আপনি যে ডোমেনগুলি অ্যাক্সেস করতে পারেন তা নির্দিষ্ট করুন। করস একটি কারণ আছে।
পাকোগোমেজ

2
আপনার কনফিগার সার্ভিস পদ্ধতিতে এটি কেবলমাত্র @Pakogomez পরিষ্কার করার জন্য: পরিষেবাদি.এডসকর্স (অপশন => {অপশনস dএডডপলিসি ("AllowSpecificOrigin", builder => {builder.WithOrigins (" localhost" ) .এলওআনিআরোগিন () অ্যালাওহেনিয়ার)। AllowAnyMethod ();});}); এবং আপনার কনফিগার পদ্ধতিতে: app.UseCors ("AllowSpecificOrigin");
ফ্রান্সিসকো টেনা

28

সিওআরএস করার সময় কিছু ক্যাভেট রয়েছে। প্রথমত, এটি ওয়াইল্ডকার্ডগুলিকে অনুমতি দেয় না *তবে আমাকে এটি ধরে রাখবেন না আমি এটি কোথাও পড়েছি এবং এখন আর নিবন্ধটি খুঁজে পাচ্ছি না।

আপনি যদি অন্য কোনও ডোমেন থেকে অনুরোধ করছেন তবে আপনাকে অনুমতি মুল শিরোনাম যুক্ত করতে হবে।

 Access-Control-Allow-Origin: www.other.com 

আপনি অনুরোধ পোস্ট / PUT / প্যাচ মত সার্ভার সম্পদ প্রভাব ফেলে, এবং MIME প্রকার নিম্নলিখিত চেয়ে ভিন্ন হলে উপার্জন হয় application/x-www-form-urlencoded, multipart/form-dataঅথবা text/plainব্রাউজার স্বয়ংক্রিয়ভাবে একটি প্রি-ফ্লাইট বিকল্প সার্ভারের সাথে চেক করতে অনুরোধ যদি এটা সম্ভব হবে করতে হবে ।

সুতরাং আপনার এপিআই / সার্ভারকে সেই অনুযায়ী এই বিকল্পগুলির অনুরোধগুলি পরিচালনা করতে হবে, আপনাকে যথাযথ প্রতিক্রিয়া জানাতে হবে access control headersএবং HTTP প্রতিক্রিয়া স্থিতি কোড হওয়া দরকার 200

শিরোনামগুলি এমন কিছু হওয়া উচিত, আপনার প্রয়োজনের জন্য এগুলি সামঞ্জস্য করুন:

   Access-Control-Allow-Methods: GET, POST, PUT, PATCH, POST, DELETE, OPTIONS
   Access-Control-Allow-Headers: Content-Type
   Access-Control-Max-Age: 86400

সর্বাধিক বয়সের শিরোনামটি গুরুত্বপূর্ণ, আমার ক্ষেত্রে এটি কাজ না করেই চলবে, আমি অনুমান করি যে "অ্যাক্সেস রাইটস" কতক্ষণ বৈধ হয় তার জন্য ব্রাউজারটির তথ্য প্রয়োজন।

তদতিরিক্ত, যদি আপনি উদাহরণস্বরূপ কোনও অন্য ডোমেনের মাইমের POSTসাথে একটি অনুরোধ application/jsonকরে থাকেন তবে আপনাকে পূর্বে উল্লিখিত অনুমতিপ্রাপ্ত অরিজিনাল শিরোনামটিও যুক্ত করতে হবে, সুতরাং এটি দেখতে এটির মতো হবে:

   Access-Control-Allow-Origin: www.other.com 
   Access-Control-Allow-Methods: GET, POST, PUT, PATCH, POST, DELETE, OPTIONS
   Access-Control-Allow-Headers: Content-Type
   Access-Control-Max-Age: 86400

পূর্ব-বিমানটি সফল হয়ে যায় এবং সমস্ত প্রয়োজনীয় তথ্য পেলে আপনার আসল অনুরোধ করা হবে be

সাধারণভাবে বলতে গেলে, Access-Controlপ্রাথমিক বা প্রাক-উড়ানের অনুরোধে যা কিছু শিরোনামকে অনুরোধ করা হয়েছে, তার কাজ করার জন্য প্রতিক্রিয়াতে দেওয়া উচিত।

এই লিঙ্কটিতে এমডিএন ডক্সে এখানে একটি ভাল উদাহরণ রয়েছে এবং আপনার এই এসও পোস্টটিও চেক করা উচিত


1
এখানে মজিলা নিবন্ধটি কীভাবে আপনি মূল উত্সের জন্য ওয়াইল্ডকার্ড ব্যবহার করতে পারবেন না সে সম্পর্কে কথা বলছেন: লিঙ্ক তাই স্পষ্টতই এটি কেবলমাত্র শংসাপত্রগুলি ব্যবহার করার সময় প্রযোজ্য (যদি আমি সঠিকভাবে বুঝতে পারি)
হেলজগেট

আমি ওয়াইল্ডকার্ডটি ব্যবহার করছি এবং অনুরোধটি অনুমোদিত করার জন্য একটি বাহক টোকেন জমা দিচ্ছি এবং এটি ঠিকঠাক কাজ করছে যাতে নিশ্চিত করা যায় না যে উপরে দেওয়া লিঙ্কটি শংসাপত্রগুলির বিষয়ে উল্লেখ করছে। আমার সমস্যাটি ছিল আমার। CORS নীতিটি বাল্ডিং করার সময়। নেট কোর আমি যুক্ত করি নি .AllowCredentials()। যুক্ত করার পরে .AllowCredentials()সবকিছু কাজ করে।
হেলজগেট

15

জাভাস্ক্রিপ্ট XMLHttpRequest- এর এবং পান একই বংশোদ্ভূত নীতি অনুসরণ। সুতরাং, এক্সএমএলএইচটিপিআরকোয়েস্ট বা ফেচ ব্যবহার করে এমন একটি ওয়েব অ্যাপ্লিকেশন কেবল নিজের ডোমেনে HTTP অনুরোধ করতে পারে।

সূত্র: https://developer.mozilla.org/en-US/docs/Web/HTTP/Acecess_control_CORS

আপনাকে অ্যাক্সেস-কন্ট্রোল-মঞ্জুরি-উত্স: আপনার সার্ভার দিক থেকে HTTP শিরোনাম প্রেরণ করতে হবে ।

আপনি যদি এইচটিটিপি সার্ভার হিসাবে অ্যাপাচি ব্যবহার করে থাকেন তবে আপনি এটিকে আপনার অ্যাপাচি কনফিগারেশন ফাইলটিতে এটি যুক্ত করতে পারেন:

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
</IfModule>

Mod_headers অ্যাপাচে ডিফল্টরূপে সক্ষম করা হয়েছে, তবে, আপনি এটি চালিয়ে এটি সক্ষম করতে নিশ্চিত করতে পারেন:

 a2enmod headers

আমি আমার অ্যাপাচি কনফিগারেশন ফাইলটি কোথায় খুঁজে পাব?
শুভম আর্য

লিনাক্স ডিবিয়ানে শুভআরামিয়া ডিফল্ট অবস্থানটি হ'ল:/etc/apache2/apache2.conf
তাদেজ

আমি উইন্ডোতে এটি কোথায় পেতে পারি?
শুভম আর্য

10

আপনি যদি ক্রোম-এক্সটেনশন লিখছেন

আপনাকে manifest.jsonআপনার ডোমেনের জন্য অনুমতিগুলি যুক্ত করতে হবে।

"permissions": [
   "http://example.com/*",
   "https://example.com/*"
]

1
আপনার কাছে www উপসর্গ আছে কিনা
তাও দেখুন

8

যদি আপনি সুযোগমতো আইআইএস সার্ভার ব্যবহার করেন। আপনি HTTP অনুরোধ শিরোনাম বিকল্পে শিরোনাম নীচে সেট করতে পারেন।

Access-Control-Allow-Origin:*
Access-Control-Allow-Methods: 'HEAD, GET, POST, PUT, PATCH, DELETE'
Access-Control-Allow-Headers: 'Origin, Content-Type, X-Auth-Token';

এই সমস্ত পোস্ট সহ, পেতে ইত্যাদি, ভাল কাজ করবে।


5

পাইথন ফ্লাস্ক সার্ভারের জন্য, ক্রস ডোমেন অনুরোধগুলি সক্ষম করতে আপনি ফ্লাস্ক-কর্স প্লাগইন ব্যবহার করতে পারেন।

দেখুন: https://flask-cors.readthedocs.io/en/latest/


5

পিএইচপি-তে আপনি শিরোনামগুলি যুক্ত করতে পারেন:

<?php
header ("Access-Control-Allow-Origin: *");
header ("Access-Control-Expose-Headers: Content-Length, X-JSON");
header ("Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS");
header ("Access-Control-Allow-Headers: *");
...

ধন্যবাদ, এটি আমার পক্ষে কাজ করেছিল! পরীক্ষা এবং উত্পাদন পরিবেশে। এমনকি https: // ব্যবহার করে
জোসে সেয়ে

1
@atiruz সমাধানের জন্য ধন্যবাদ। এই কাজগুলি যখন আমি লাইনটি যুক্ত করেছিheader ("Access-Control-Expose-Headers: Content-Length, X-JSON");
সিলাম্বারসন আরডি

5

নোড জেএস অ্যাপ্লিকেশনে ক্রস-অরিজিন-অনুরোধগুলির সমস্যাগুলি সমাধান করতে:

npm i cors

এবং কেবল নীচে লাইন যুক্ত করুন app.js

let cors = require('cors')
app.use(cors())

3
এটি কেবল এক্সপ্রেস
জেএস

3

আমার অ্যাপাচি ভার্চুয়ালহোস্ট কনফিগারেশন ফাইলে আমি নিম্নলিখিত লাইনগুলি যুক্ত করেছি:

Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"

RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]

3

তাদের জন্য API গেটওয়ে সহ ল্যাম্বদা ইন্টিগ্রেটেড প্রক্সি ব্যবহার করছেন । আপনার ল্যাম্বদা ফাংশনটি আপনাকে কনফিগার করতে হবে যেন আপনি এটিতে সরাসরি আপনার অনুরোধ জমা দিচ্ছেন, যার অর্থ ফাংশনটির প্রতিক্রিয়া শিরোনামগুলি সঠিকভাবে সেট আপ করা উচিত। (আপনি যদি কাস্টম ল্যাম্বদা ফাংশন ব্যবহার করছেন তবে এটি এপিআই গেটওয়ে দ্বারা পরিচালিত হবে))

//In your lambda's index.handler():
exports.handler = (event, context, callback) => {
     //on success:
     callback(null, {
           statusCode: 200,
           headers: {
                "Access-Control-Allow-Origin" : "*"
           }
     }
}

1
আমি এও চাইম করতে চাই এবং একটি বড় গটচা উল্লেখ করতে চাই আমি ডাব্লুএস ডকুমেন্টকে ভাবি না। বলুন যে আপনি আপনার ল্যাম্বদা ফাংশনটির প্রক্সি করতে API গেটওয়ে ব্যবহার করেন এবং আপনি সেই ল্যাম্বদা ফাংশনে কিছু এপিআই ব্যবহার করেন। যদি সেই এপিআই 200-সাফল্যের সাফল্যের কোডটি দেয় এবং আপনি 200 গিগাবাইটের সাফল্য কোডটি এপিআই গেটওয়েতে পদ্ধতি প্রতিক্রিয়াতে যোগ না করেন তবে আপনি একটি ত্রুটি পাবেন এবং আপনার সফল প্রতিক্রিয়া দেখতে পাবেন না । এর উদাহরণস্বরূপ: সেন্ডগ্রিড এবং টোলিওর নন-200 সাফল্য কোড রয়েছে।
স্টিফেন টেট্রোল্ট

3

আমি মনে করি ক্রোম থেকে সিওআরএস অক্ষম করা ভাল উপায় নয় , কারণ আপনি যদি এটি আয়নিকে ব্যবহার করেন তবে অবশ্যই মোবাইল বিল্ডে ইস্যুটি আবার উত্থাপন করবে।

আপনার ব্যাকএন্ডে স্থির করা আরও ভাল।

শিরোনামে সবার আগে আপনাকে সেট করতে হবে-

  • শিরোনাম ('অ্যাক্সেস-কন্ট্রোল-মঞ্জুরি-উত্স: *');
  • শিরোলেখ ('শিরোনাম অ্যাক্সেস-নিয়ন্ত্রণ-মঞ্জুরি-শিরোনাম সেট করুন: "উত্স, এক্স-অনুরোধযুক্ত, সামগ্রী-প্রকার, স্বীকৃতি"));

এবং যদি API GET এবং পোস্ট উভয় হিসাবে আচরণ করে তবে আপনার শিরোনামেও সেট করুন-

যদি (_S _SERVER ['REQUEST_METHOD'] == 'বিকল্পসমূহ') {যদি (isset ($ _ সার্ভার ['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) শিরোনাম ("অ্যাক্সেস-নিয়ন্ত্রণ-অনুমতি-পদ্ধতি: GET, পোস্ট, বিকল্প" ");
যদি (isset ($ _ সার্ভার ['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) শিরোনাম ("অ্যাক্সেস-কন্ট্রোল-মঞ্জুরি-শিরোনাম:
_S _SERVER ['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'];"); প্রস্থান (0); }


3

এই ত্রুটির একটি খুব সাধারণ কারণ হ'ল হোস্ট এপিআইএল একটি অনুরোধটি কোনও HTTP পদ্ধতিতে ম্যাপ করেছে (উদাহরণস্বরূপ PUT) এবং API ক্লায়েন্ট একটি পৃথক HTTP পদ্ধতি (যেমন POST বা GET) ব্যবহার করে এপিআই কল করছে


আমি আমার সার্ভারে PUT
সিআরএস

3

আমাদের দলটি মাঝে মাঝে এটি ভ্যু, অক্সিজো এবং একটি সি # ওয়েবএপি ব্যবহার করে দেখে। আপনি শেষ প্রান্তে একটি রুট অ্যাট্রিবিউট যুক্ত করা এটি আমাদের জন্য এটি ঠিক করে দেওয়ার চেষ্টা করছেন।

[Route("ControllerName/Endpoint")]
[HttpOptions, HttpPost]
public IHttpActionResult Endpoint() { }

কেন আমরা সত্যই নিশ্চিত নই। হাঃ হাঃ হাঃ. যদি কেউ আমাকে জানায়!
w00ngy

1

ডিএনএস সার্ভারটি ৮.৮.৮.৮ (গুগল) এ সেট করার সময় আমি এই সমস্যার মুখোমুখি হয়েছি। আসলে, সমস্যাটি রাউটারে ছিল, আমার অ্যাপ্লিকেশনটি স্থানীয়ভাবে নয় (আমার নির্দিষ্ট ক্ষেত্রে) গুগলের মাধ্যমে সার্ভারের সাথে সংযোগ দেওয়ার চেষ্টা করেছিল। আমি ৮.৮.৮.৮ অপসারণ করেছি এবং এটি সমস্যার সমাধান করেছে। আমি জানি যে এই সমস্যাগুলি সিওআরএস সেটিংস দ্বারা সমাধান করা হয়েছে তবে আমার কারওর মতো সমস্যা হতে পারে


1

আমি আপলোডগুলির জন্য এডাব্লুএস এসডিকে ব্যবহার করছি, অনলাইনে অনুসন্ধানের জন্য কিছু সময় ব্যয় করার পরে আমি এই থ্রেডটিতে হোঁচট খেয়েছি। @ সিমনেউউ 45581857 কে ধন্যবাদ জানায় যে ঠিক একই জিনিসটি ঘটছিল । অঞ্চলটির বিকল্পটি সংযুক্ত করে আমি কেবল আমার বালতিতে আমার অনুরোধটি উরলকে এই অঞ্চলে দেখিয়েছি এবং এটি কার্যকর হয়েছে।

 const s3 = new AWS.S3({
 accessKeyId: config.awsAccessKeyID,
 secretAccessKey: config.awsSecretAccessKey,
 region: 'eu-west-2'  // add region here });

0

জিও সার্ভারের একক বিতরণে জেটি অ্যাপ্লিকেশন সার্ভার অন্তর্ভুক্ত। আপনার নিজের ডোমেনের বাইরে জাভাস্ক্রিপ্ট অ্যাপ্লিকেশনগুলিকে জিও সার্ভার ব্যবহার করার অনুমতি দেওয়ার জন্য ক্রস-অরিজিন রিসোর্স শেয়ারিং (সিওআরএস) সক্ষম করুন।

নিম্নলিখিতগুলি <filter>এবং <filter-mapping>ওয়েব অ্যাপস / জিওসরবার / ওয়েবে-আইএনএফ / ওয়েব.এক্সএমএল থেকে মন্তব্য করুন:

<web-app>
  <filter>
      <filter-name>cross-origin</filter-name>
      <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
  </filter>
  <filter-mapping>
      <filter-name>cross-origin</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

এটি প্রতিক্রিয়া শিরোনামে
এন্টিহিং

1
জিও সার্ভার ব্যবহার করছে না, তবে এই ক্লিপটি আমাকে কল গ্রহণকারী অ্যাপটিতে আমার যে সেটিংগুলি ব্যবহার করতে হবে তা জানতে সহায়তা করে।
ম্যাট ফেলজানী

0

কোনও বিষয় নিয়ে চিন্তা না করে কেবল কয়েকটি পদক্ষেপ সহ সহজেই এই সমস্যাটি সমাধান করা সহজ। দয়া করে, এটি সমাধানের পদক্ষেপগুলি অনুসরণ করুন।

  1. খোলা ( https://www.npmjs.com/package/cors#enabling-cors-pre-flight )
  2. নোড টার্মিনালের মাধ্যমে ইনস্টল করতে npm ইনস্টল কর্স কমান্ডটি অনুলিপি করুন
  3. স্ক্রল করে সাধারণ ব্যবহারে (সমস্ত CORS অনুরোধগুলি সক্ষম করুন) যান then তবে আপনার প্রকল্পে সম্পূর্ণ ঘোষণাটি অনুলিপি করুন এবং পেস্ট করুন এবং এটি চালনা করুন ... যা নিশ্চিতভাবে কাজ করবে .. মন্তব্য কোডটি অনুলিপি করুন এবং আপনার অ্যাপ্লিকেশন.জেজে বা অন্য কোনওটিতে পেস্ট করুন প্রজেক্ট এবং একটি চেষ্টা করুন ..এটি কার্যকর হবে isএটি প্রতিটি ক্রস উত্সের রিসোর্স শেয়ারিংকে আনলক করবে ... তাই আমরা আপনার ব্যবহারের জন্য পরিবেশন করতে পারি

1
var এক্সপ্রেস = প্রয়োজনীয় ('এক্সপ্রেস') ভের করস = প্রয়োজনীয় ('কর্স') ভার অ্যাপ = এক্সপ্রেস () অ্যাপ্লিকেশন (কর্স ()) অ্যাপ.জেট ('/ পণ্য /: আইডি', ফাংশন (রেক, রেস, পরবর্তী) {res.json ({msg: 'এটি সমস্ত উত্সের জন্য CORS- সক্ষম!'}) app) app.listen (80, ফাংশন () {কনসোল.লগ ('80 পোর্টে CORS- সক্ষম ওয়েব সার্ভার শোনাচ্ছে') )})
রাহুল সাহা

-1

এমন কিছু যা মিস করা খুব সহজ ...

সমাধান এক্সপ্লোরার ইন, এপিআই-প্রকল্পে ডান ক্লিক করুন। বৈশিষ্ট্য উইন্ডোতে সক্ষম হয়েছে 'বেনামে প্রমাণীকরণ' সক্ষম করুন !!!


-8

ক্রোম সুরক্ষা অক্ষম করুন ch ক্রোম শর্টকাটটি তৈরি করুন -> বৈশিষ্ট্য -> লক্ষ্যকে ডান ক্লিক করুন, এই "সি: (প্রোগ্রাম ফাইলগুলি (x86) \ গুগল \ ক্রোম \ অ্যাপ্লিকেশন \ ক্রোম.এক্সে" - অক্ষম-ওয়েব-সুরক্ষা - ব্যবহারকারী -data-Dir = "C: / chromedev"

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.