Pracuję nad aplikacją internetową (Angular + Rails), która obsługuje zasoby serwera poprzez CDN CloudFront. Aplikacja jest obsługiwana przez nginx, który jest poprawnie skonfigurowany, aby ustawić nagłówek "Access-Control-Allow-Origin". CloudFront jest skonfigurowany do przekazywania nagłówka.Brak kontroli dostępu w przypadku braku odpowiedzi przy pierwszej odpowiedzi
Problem polega na tym, że w pierwszej odpowiedzi na szablon kątowy brakuje nagłówka, ale jest on poprawnie obecny w kolejnych odpowiedziach (jeśli odświeżam stronę).
Jeśli na przykład wyczyściłem całą historię i pamięć podręczną w przeglądarce Chrome i odwiedzę stronę, odpowiedź na plik szablonu nie będzie zawierać nagłówka "Access-Control-Allow-Origin". Jeśli odświeżę stronę, odpowiedź na szablon będzie miała nagłówek.
Zauważyłem, że jeśli wyczyści całą historię i pamięć podręczną, ale nie ciasteczka, nadal działa poprawnie.
Zachowuje się podobnie w Firefoksie. Jeśli wyczyści całą historię i pamięć podręczną, nie działa przy pierwszej odpowiedzi, ale działa poprawnie w następnych odpowiedziach. Po wyczyszczeniu całej historii i pamięci podręcznej, ale bez plików cookie, nadal działa poprawnie, w przeciwieństwie do Chrome.
Ponadto, jeśli otworzę narzędzia programistyczne i wyłączę pamięć podręczną w Firefoksie, w każdej odpowiedzi brakuje nagłówka.
Czy wiesz, jaki może być problem lub gdzie powinienem szukać dalej?
Dzięki.
spróbuj JSONP dla żądań cors –
Pierwszym żądaniem między domenami jest OPCJE, nagłówki serwera shoud return Access-Control-Allow-Methods: POST, GET, ** OPCJE ** –
Z jakim problemem masz do czynienia? Dla każdego żądania, żądanie OPTIONS jest wykonywane jako pierwsze, jeśli to się powiedzie, wówczas zostanie wykonane rzeczywiste żądanie. Czy napotykasz problem tam lub w jakiejkolwiek innej prośbie? Czy ma to wpływ na twoją aplikację? –