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!