Rumah >hujung hadapan web >tutorial js >Mengapakah permintaan AngularJS ngResource saya kepada API AWS gagal dalam semakan Access-Control sebelum penerbangan?

Mengapakah permintaan AngularJS ngResource saya kepada API AWS gagal dalam semakan Access-Control sebelum penerbangan?

Linda Hamilton
Linda Hamiltonasal
2024-12-28 04:32:11572semak imbas

Why is my AngularJS ngResource request to an AWS API failing the preflight Access-Control check?

Permintaan Pra-penerbangan Gagal Semakan Kawalan Akses

Menghadapi Ralat

Apabila menggunakan ngResource untuk berinteraksi dengan API REST pada Perkhidmatan Web Amazon, pengguna mungkin menghadapi ralat berikut:

XMLHttpRequest cannot load
http://server.apiurl.com:8000/s/login?login=facebook. Response to
preflight request doesn't pass access control check: No
'Access-Control-Allow-Origin' header is present on the requested
resource. Origin 'http://localhost' is therefore not allowed access.
Error 405

Pemahaman CORS

Ralat ini berpunca daripada Perkongsian Sumber Silang Asal (CORS). CORS menguatkuasakan sekatan keselamatan yang menghalang sumber daripada satu domain (cth., localhost) daripada mengakses terus sumber daripada domain lain (cth., server.apiurl.com).

Pilihan Penyelesaian Masalah

Untuk menyelesaikan isu , pertimbangkan pendekatan berikut:

  • Lumpuhkan CORS: Gunakan sambungan penyemak imbas atau tetapan Chrome untuk melumpuhkan CORS buat sementara waktu untuk tujuan ujian.
  • Gunakan Pemalam Penyemak Imbas: Pasang pemalam penyemak imbas untuk mendayakan permintaan silang asal.
  • Gunakan Proksi: Laksanakan proksi seperti nginx untuk memajukan permintaan daripada localhost ke pelayan jauh, memintas sekatan domain.
  • Konfigurasikan Pelayan: Pastikan pelayan web pada tika EC2 dikonfigurasikan dengan betul untuk CORS. Rujuk dokumentasi pelayan khusus untuk panduan.

Implikasi Permintaan Merentas Domain

Adalah penting untuk ambil perhatian bahawa mengakses domain luaran daripada localhost membentuk permintaan merentas domain. Ini mencetuskan mekanisme keselamatan CORS, yang menghalang akses tanpa kebenaran.

Memintas CORS

Walaupun melumpuhkan CORS atau menggunakan pemalam boleh menjadi penyelesaian pantas untuk ujian, ia tidak menangani isu asas silang- komunikasi asal. Menggunakan proksi atau mengkonfigurasi pelayan untuk membenarkan akses silang asal ialah pendekatan yang lebih komprehensif.

Atas ialah kandungan terperinci Mengapakah permintaan AngularJS ngResource saya kepada API AWS gagal dalam semakan Access-Control sebelum penerbangan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn