Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Pelayan API Saya pada Subdomain Gagal Membalas dengan Pengepala \'Access-Control-Allow-Origin\' Walaupun Konfigurasi CORS Betul?

Mengapa Pelayan API Saya pada Subdomain Gagal Membalas dengan Pengepala \'Access-Control-Allow-Origin\' Walaupun Konfigurasi CORS Betul?

Patricia Arquette
Patricia Arquetteasal
2024-10-30 02:41:28726semak imbas

Why Does My API Server on a Subdomain Fail to Respond with the 'Access-Control-Allow-Origin' Header Despite Proper CORS Configuration?

Gagal Mengakses Subdomain daripada Domain Utama: Tiada Pengepala 'Access-Control-Allow-Origin'

Masalah timbul apabila anda cuba untuk akses pelayan API yang dihoskan pada subdomain daripada apl React pada domain utama. Semasa menggunakan CORS (Cross-Origin Resource Sharing) untuk komunikasi silang asal, pelayan mesti menghantar pengepala 'Access-Control-Allow-Origin' untuk menentukan domain yang dibenarkan akses.

Definisi Masalah

Anda telah mengalami ralat dasar CORS semasa cuba mengakses API daripada apl React, dengan mesej ralat "Tiada pengepala 'Access-Control-Allow-Origin' pada sumber yang diminta ." Walaupun menggunakan pendekatan berbeza untuk menetapkan perisian tengah CORS, termasuk menggunakan perpustakaan gin-contrib/cors dan menambah pengepala secara manual, ralat berterusan.

Penyelesaian

Ia bertukar bahawa isunya bukan terletak pada konfigurasi CORS sebelah pelayan tetapi dengan tetapan pada Kumpulan Sasaran Pengimbang Beban AWS anda. Anda sebelum ini telah menetapkan protokol kepada HTTPS dalam kumpulan sasaran, walaupun anda hanya memberikan sijil ACM kepada Laluan 53 dan ALB. Sebaik sahaja anda menggantikan HTTPS dengan HTTP dalam kumpulan sasaran, isu itu telah diselesaikan dan API boleh diakses daripada apl React.

Menyahpepijat Isu CORS

Untuk mendiagnosis CORS- isu berkaitan, adalah penting untuk memeriksa permintaan prapenerbangan menggunakan Chrome DevTools atau alat khusus seperti cURL. Semak pengepala tindak balas prapenerbangan untuk memastikan bahawa pengepala 'Access-Control-Allow-Origin' yang dijangka hadir. Jika respons menunjukkan kod status selain daripada 204 Tiada Kandungan, ia mungkin menandakan isu dengan respons sebelah pelayan atau tafsirannya oleh pelanggan.

Atas ialah kandungan terperinci Mengapa Pelayan API Saya pada Subdomain Gagal Membalas dengan Pengepala \'Access-Control-Allow-Origin\' Walaupun Konfigurasi CORS Betul?. 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