Optymalizacja wydajności za pomocą reguł CDN
Używaj silnika reguł do przekierowywania HTTP do HTTPS, dodawania nagłówków zabezpieczeń i stosowania filtrowania geograficznego w celu ograniczenia dostępu do treści z określonych krajów.
Optymalizacja wydajności za pomocą reguł CDN to bezpłatna lekcja Cloud & IT Cert Prep na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cloud & IT Cert Prep, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.
Dlaczego aparat reguł ma znaczenie
Aparat reguł usługi Azure Front Door (nazywany Rule sets w wersjach Standard/Premium) umożliwia przechwytywanie i modyfikowanie żądań oraz odpowiedzi HTTP na brzegowym węźle PoP, zanim zostaną one zapisane w pamięci podręcznej lub przekazane do źródła. Bez aparatu reguł zadania takie jak przekierowania HTTP do HTTPS, dodawanie nagłówków zabezpieczeń odpowiedzi i blokowanie geograficzne trzeba byłoby obsługiwać w kodzie aplikacji źródłowej, co zwiększałoby opóźnienia i łączyło kwestie bezpieczeństwa z logiką biznesową. Reguły wykonywane na brzegu działają szybciej i zmniejszają obciążenie źródła.
Przekierowanie HTTP do HTTPS
Jednym z najczęstszych zastosowań aparatu reguł jest wymuszanie protokołu HTTPS. Gdy klient żąda dostępu do witryny przez HTTP, reguła przekierowania na brzegu Front Door natychmiast zwraca odpowiedź 301 Moved Permanently (lub 302 Found) wskazującą adres URL HTTPS — żądanie nie dociera przy tym do źródła. Jest to szybsze niż przekierowania po stronie źródła i zapewnia szyfrowanie całego ruchu podczas przesyłania. Należy skonfigurować tę funkcję jako akcję przekierowania dla żądań, w przypadku których warunek RequestScheme ma wartość HTTP.
// Rules engine rule — redirect HTTP to HTTPS
// Match condition: RequestScheme Equals HTTP
// Action: URL Redirect
// Redirect type: Moved (301)
// Destination protocol: HTTPS
// Destination host: {http.request.host}
// Destination path: {http.request.uri.path}
// Query string: {http.request.uri.querystring}Dodawanie nagłówków zabezpieczeń odpowiedzi
Nowoczesne przeglądarki obsługują nagłówki zabezpieczeń HTTP, które zapobiegają typowym atakom. Można dodawać te nagłówki do wszystkich odpowiedzi za pomocą akcji aparatu reguł Append response header, bez modyfikowania serwera źródłowego. Najważniejsze nagłówki to: Strict-Transport-Security (wymusza używanie protokołu HTTPS przez określony czas), X-Content-Type-Options: nosniff (uniemożliwia rozpoznawanie typów MIME na podstawie zawartości), X-Frame-Options: DENY (zapobiega clickjackingowi) oraz Content-Security-Policy (ogranicza źródła treści). Dodawanie tych nagłówków na brzegu zapewnia spójne stosowanie zasad we wszystkich źródłach.
// Rules engine — add security headers to all responses
// Action 1: Append response header
// Header name: Strict-Transport-Security
// Value: max-age=31536000; includeSubDomains
// Action 2: Append response header
// Header name: X-Content-Type-Options
// Value: nosniff
// Action 3: Append response header
// Header name: X-Frame-Options
// Value: DENYZastępowanie ustawień pamięci podręcznej dla poszczególnych reguł
Aparat reguł umożliwia zastępowanie domyślnego czasu TTL pamięci podręcznej dla określonych wzorców adresów URL. Można na przykład przechowywać w pamięci podręcznej zasoby /static/images/* przez 30 dni, a odpowiedzi dla /api/* tylko przez 60 sekund. Należy użyć warunku dopasowania dla RequestUri oraz akcji Route configuration override, która ustawia niestandardowy czas przechowywania w pamięci podręcznej. Pozwala to precyzyjnie kontrolować pamięć podręczną bez tworzenia wielu osobnych tras dla każdego typu zawartości.
// Rules engine — cache API responses for 60 seconds
// Match condition: RequestUri BeginsWith /api/
// Action: Route configuration override
// Cache: Enabled
// Caching duration: 0 days, 0 hours, 1 minute
// Query string caching: Include All
// Rules engine — cache static images for 30 days
// Match condition: RequestUri BeginsWith /static/images/
// Action: Route configuration override
// Cache: Enabled
// Caching duration: 30 daysPrzepisywanie adresów URL na brzegu
Akcje przepisywania adresów URL modyfikują adres URL żądania przed przekazaniem go do źródła, nie zmieniając adresu URL widocznego dla klienta. Jest to przydatne, gdy żądania z jednej struktury adresów URL mają być kierowane do innej ścieżki zaplecza. Można na przykład przepisać /products/item/{id} na /catalog/v2/products/{id}, aby dostosować się do zmiany w interfejsie API zaplecza bez aktualizowania łączy po stronie klienta. Przepisywanie adresów URL jest akcją aparatu reguł, która modyfikuje element URL path za pomocą zamiany ciągów lub grup przechwytywania.
Reguły filtrowania geograficznego
Filtrowanie geograficzne na poziomie aparatu reguł pozwala przekierowywać lub blokować użytkowników z określonych krajów na podstawie geolokalizacji wyznaczonej z adresu IP klienta. W przeciwieństwie do filtrowania geograficznego CDN (które zwraca kod 403), filtrowanie geograficzne aparatu reguł zapewnia większą elastyczność — można przekierowywać zablokowane kraje na stronę docelową wyjaśniającą dostępność regionalną albo kierować określone kraje do regionalnych grup źródeł (np. użytkowników z UE do źródeł w UE w celu zachowania zgodności z RODO). Dopasowanie geograficzne RemoteAddress korzysta z bazy danych MaxMind mapującej adresy IP na kraje.
Manipulowanie nagłówkami żądań
Aparat reguł może dodawać, zastępować lub usuwać nagłówki żądań przed przekazaniem ich do źródła. Typowym zastosowaniem jest dodanie nagłówka X-Forwarded-For lub niestandardowego nagłówka, takiego jak X-Front-Door-Id, aby źródło wiedziało, że żądania przeszły przez Front Door i mogło je zweryfikować. Można również usunąć oryginalny nagłówek Host i zastąpić go nazwą hosta źródła — jest to ważne, gdy źródło weryfikuje nagłówek Host. Zapewnia to pełną kontrolę nad tym, co widzi serwer źródłowy.
Routing na podstawie nagłówków żądań
Warunki aparatu reguł mogą dopasowywać wartości nagłówków żądań, umożliwiając tworzenie zaawansowanej logiki routingu. Można na przykład kierować żądania zawierające nagłówek X-API-Version: 2 do innej grupy źródeł obsługującej interfejs API w wersji v2, a żądania bez tego nagłówka do źródła v1. Umożliwia to stosowanie strategii blue-green dla wersji API na brzegu, bez konieczności używania osobnych nazw hostów dla każdej wersji API. Routing na podstawie nagłówków jest również używany do testów A/B, na przykład przez kierowanie ruchu na podstawie niestandardowego pliku cookie segmentu użytkownika.
Kompresowanie odpowiedzi na brzegu
Kompresja odpowiedzi w usłudze Front Door kompresuje odpowiedzi tekstowe (HTML, CSS, JavaScript i JSON) za pomocą gzip lub Brotli przed ich dostarczeniem z węzłów PoP. Kompresja jest najbardziej skuteczna w przypadku dużych pakietów JavaScript, zmniejszając rozmiar przesyłanych danych nawet o 70%. Należy włączyć kompresję w ustawieniach trasy i określić typy MIME, które mają być kompresowane. Skompresowana zawartość jest przechowywana w pamięci podręcznej węzła PoP w postaci skompresowanej — dlatego tylko pierwsze żądanie każdego zasobu uruchamia kompresję, a kolejne żądania natychmiast otrzymują skompresowany plik z pamięci podręcznej.
Origin Shield
Origin Shield to opcjonalna dodatkowa warstwa buforowania, którą Front Door umieszcza między brzegowymi węzłami PoP a źródłem. Po włączeniu tej funkcji ponad 100 brzegowych węzłów PoP nie pobiera niezbuforowanej zawartości niezależnie od siebie ze źródła. Zamiast tego wszystkie przekazują nietrafienia pamięci podręcznej do jednego regionalnego węzła PoP pełniącego funkcję osłony źródła, który następnie przekazuje żądania do źródła. Znacznie zmniejsza to liczbę żądań docierających do źródła (co określa się jako wskaźnik odciążenia źródła), a jednocześnie nadal umożliwia globalne dostarczanie zawartości z brzegowych węzłów PoP.
Testowanie reguł za pomocą Front Door Explorer
Przed wdrożeniem zmian aparatu reguł w środowisku produkcyjnym należy je zweryfikować za pomocą narzędzi diagnostycznych i testowych dostępnych w portalu. Karta Diagnostic settings z dziennikami WAF w trybie wykrywania pokazuje, które reguły zostały dopasowane. W przypadku aparatu reguł można również sprawdzić rzeczywiste nagłówki żądań i odpowiedzi w narzędziach deweloperskich przeglądarki po wdrożeniu zmian w środowisku przejściowym albo użyć polecenia curl -v, aby wysłać konkretne żądania i zweryfikować nagłówki odpowiedzi oraz działanie przekierowań przed przełączeniem na środowisko produkcyjne.
# Test HTTP-to-HTTPS redirect at the CDN/Front Door edge
curl -v -L http://myapp.azurefd.net/ 2>&1 | grep -E '< (HTTP|Location)'
# Expected output:
# < HTTP/1.1 301 Moved Permanently
# < Location: https://myapp.azurefd.net/Szybkie sprawdzenie
Sprawdź swoją wiedzę na temat zagadnień Microsoft Azure Fundamentals (AZ-900) przedstawionych w tej lekcji.
Podsumowanie lekcji
W tej lekcji poznali Państwo następujące zagadnienia: aparat reguł Front Door obsługuje przekierowania HTTP do HTTPS, nagłówki zabezpieczeń odpowiedzi i zastępowanie wartości TTL pamięci podręcznej na brzegu, bez zmian w źródle; przepisywanie adresów URL w sposób niewidoczny dla klienta modyfikuje ścieżki żądań przekazywanych do źródła, podczas gdy przekierowanie adresu URL zmienia adres widoczny dla klienta; a Origin Shield zmniejsza obciążenie źródła, konsolidując żądania będące nietrafieniami pamięci podręcznej za pośrednictwem regionalnego węzła osłony. W następnej części omówimy usługi Azure AI Services służące do dodawania inteligentnych funkcji do aplikacji.
Często zadawane pytania
Czy lekcja „Optymalizacja wydajności za pomocą reguł CDN” jest bezpłatna?
Tak — pełny tekst „Optymalizacja wydajności za pomocą reguł CDN” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cloud & IT Cert Prep, przejdź na CoddyKit PRO. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.
Co nauczysz się w „Optymalizacja wydajności za pomocą reguł CDN”?
Używaj silnika reguł do przekierowywania HTTP do HTTPS, dodawania nagłówków zabezpieczeń i stosowania filtrowania geograficznego w celu ograniczenia dostępu do treści z określonych krajów. Ćwiczysz Cloud & IT Cert Prep z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cloud & IT Cert Prep?
Nie wymagamy żadnego doświadczenia. Cloud & IT Cert Prep w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Optymalizacja wydajności za pomocą reguł CDN”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cloud & IT Cert Prep?
Tak. Każda lekcja Cloud & IT Cert Prep zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Profile i punkty końcowe Azure CDN
- Azure Front Door: globalne równoważenie obciążenia
- Zapora aplikacji internetowej w usłudze Front Door
- Optymalizacja wydajności za pomocą reguł CDN