Wspólnym przykładem użycia CORS jest to, że JavaScript musi załatać żądanie do punktu końcowego API znajdującego się w innej dziedzinie. Jeśli używany jest SOP, po którym następuje XMLHTTPREquest i Fetch, żądanie zostanie zablokowane. Jednak używając CORS, żądanie może być dozwolone w celu uzyskania dostępu do żądanego punktu końcowego.
Jak możesz sobie wyobrazić, istnieją pewne zalety i wady korzystania z CORS na serwerze, ponieważ nie chroni przed atakami opartymi na domenach, w tym CSRF.
Celem tego samouczka jest szybkie podsumowanie działania CORS i jak włączyć go na serwerze Nginx.
Po co włączać CORS?
Po co włączać CORS w pierwszej kolejności? W większości przypadków JavaScript działający w przeglądarce klienta nie musi uzyskiwać dostępu do zasobów poza domeną. Dlatego wyłączenie CORS może być dobrą miarą bezpieczeństwa.
Jednak po stronie backend rzeczy uzasadniony kod JavaScript może wymagać załatania żądania do punktu końcowego poza domeną, co wymaga włączenia CORS dla takiej funkcjonalności.
NOTATKA: Ta sama domena odnosi się do innego protokołu, innej nazwy domeny lub innego portu.
Żądania za pomocą CORS
Najczęstszym żądaniem korzystającym z CORS obejmuje:
Są to niektóre z podstawowych żądań wymagających prawidłowego funkcjonowania CORS. Dobrze jest zrozumieć, że istnieje więcej pojęć na temat CORS poza zakresem tego samouczka.
Włącz CORS na serwerze Nginx
Przejdźmy do głównej części tego samouczka. Aby włączyć CORS na Nginx, musisz edytować plik konfiguracyjny (znajdujący się w/etc/nginx/nginx.conf lub usr/local/nginx/conf lub/usr/local/etc/nginx) i dodaj nagłówek.
Ogólna składnia do dodania dyrektyw nagłówka w Nginx jest:
$ add_header wartość nazwy [zawsze];
Krok 1 - Edytuj konfigurację Nginx
Uruchom ulubiony edytor i otwórz konfigurację Nginx:
$ sudo vim/etc/nginx/witryny-obserwowane/domyślne
Krok 2 - Dodaj nagłówek
W bloku serwera konfiguracji Nginx wprowadź następujący wpis.
$ Server
add_header Access-Control-Allow-Origin *;
Krok 3 - Zapisz i uruchom ponownie Nginx
Na koniec zapisz plik konfiguracyjny i ponownie uruchom Nginx.
$ sudo service nginx restart
Krok 4 - Potwierdź CORS
Użyj curl, aby potwierdzić, że CORS jest włączony jako:
$ curl -i http: // 127.0.0.1
Powinno to dać wyjście, jak pokazano poniżej:
Wniosek
To jest koniec tego samouczka. Mam nadzieję, że pomogło ci to osiągnąć cel, jakim jest włączenie CORS na serwerze Nginx.
Dziękuję za przeczytanie i udostępnienie.