Jak ustawić CORS w Nginx?

Jak ustawić CORS w Nginx?
Udostępnianie zasobów krzyżowych to protokół, który umożliwia kontrolowany dostęp do zasobów znajdujących się poza zakresem danej domeny. CORS jest podobny do SOP z dodatkowymi funkcjami i elastycznością.

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:

  • Czcionki internetowe, które są zdefiniowane w @font-face z siedzibą w stylu internetowym.
  • Obrazy i filmy narysowane na płótnie za pomocą DrawImage ()
  • Tekstury WebGL
  • Kształty CSS wyciągnięte z obrazów.

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.