BunnyCDN — konfiguracja Pull Zone, SSL i optymalizacja WordPress
Opublikowano: 10 kwietnia 2026 · Kategoria: Wydajność / CDN
BunnyCDN to europejski CDN (Słowenia) z konkurencyjnymi cenami, prostym panelem i ponad 120 serwerami brzegowymi. W porównaniu do Cloudflare Free, BunnyCDN faktycznie cachuje treść i płacisz tylko za transfer — bez ukrytych limitów. Ten artykuł pokazuje jak skonfigurować Pull Zone dla dowolnej strony, włączyć SSL, ustawić reguły cache przez Bunny Rules i zintegrować CDN z WordPress przez oficjalny plugin.
Tworzenie Pull Zone — konfiguracja podstawowa
Pull Zone to konfiguracja CDN wskazująca na twój serwer źródłowy (origin). BunnyCDN będzie pobierał z originu i cachował na swoich serwerach brzegowych.
- Zaloguj się na panel.bunny.net i przejdź do CDN → Pull Zones → Add Pull Zone.
-
Wpisz nazwę (np.
mysite-cdn) i Origin URL (adres twojego serwera, np.https://mysite.example.com). - Wybierz regiony — Europa zawsze aktywna, pozostałe opcjonalnie (wyższy koszt/GB).
-
Po stworzeniu dostaniesz URL CDN w formacie
mysite-cdn.b-cdn.net— możesz go użyć bezpośrednio lub dodać własną domenę (Custom Hostname).
Custom Hostname i SSL
Zamiast *.b-cdn.net możesz używać własnej subdomeny jak
cdn.example.com. BunnyCDN oferuje darmowy SSL przez Let's Encrypt lub możesz
wgrać własny certyfikat.
# 1. W panelu BunnyCDN: Pull Zone → Hostnames → Add Hostname # Wpisz: cdn.example.com # 2. W DNS swojej domeny dodaj rekord CNAME: # cdn.example.com → mysite-cdn.b-cdn.net # 3. W BunnyCDN: Enable Free Certificate (Let's Encrypt) lub Upload Custom # Let's Encrypt: automatyczne odnawianie co 60 dni # 4. Wymusz HTTPS w ustawieniach Pull Zone: # Security → Force SSL: ON # 5. Sprawdz SSL curl -I https://cdn.example.com/wp-content/uploads/logo.png # Oczekiwany header: CF-Cache-Status lub Bunny-Cache-Status: HIT
Bunny Rules — zaawansowane reguły cache
Bunny Rules to system reguł warunkowych — podobny do Cloudflare Rules. Pozwala ustawić własne TTL, wymuszać/blokować cache, przekierowywać, modyfikować nagłówki i optymalizować obrazy. Konfiguracja w panelu: Edge Rules.
- Długi TTL dla statycznych zasobów — pliki CSS/JS/images z hash w nazwie (fingerprinting)
mogą mieć TTL=1rok. Reguła: URL path matches
*.jslub*.css→ Cache TTL = 31536000s. - Pomijaj cache dla API — Reguła: URL path starts with
/api/→ Bypass Cache. - Blokuj hotlinking — Reguła: Request Header Referer does not match
example.comAND URL path ends with.jpg→ Block Request. - Przekierowanie www → bez-www — Reguła: Hostname matches
www.example.com→ Redirect tohttps://example.com/${PathAndQuery}.
# Bunny Rules przez API (REST) — przyklad zmiany TTL
curl -X POST "https://api.bunny.net/pullzone/TWOJ_ZONE_ID/edgerules/addOrUpdate" \
-H "AccessKey: TWOJ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"Enabled": true,
"Description": "Long TTL for images",
"Triggers": [
{
"Type": 0,
"PatternMatchingType": 0,
"PatternMatches": ["*.jpg", "*.png", "*.webp", "*.gif"]
}
],
"Actions": [
{
"Type": 9,
"Parameter1": "31536000"
}
]
}' Integracja z WordPress — plugin Bunny.net
Oficjalny plugin Bunny.net (dawniej CDN Enabler) automatycznie przepisuje URL statycznych zasobów na adresy Pull Zone. Instalacja przez panel WP-Admin:
# WP-Admin → Plugins → Add New → szukaj "Bunny.net" # Zainstaluj i aktywuj plugin "Bunny.net" (cdn.bunny.net) # Konfiguracja: Settings → Bunny.net CDN # Pull Zone Hostname: cdn.example.com (lub mysite-cdn.b-cdn.net) # Rewrite URLs for: # - wp-content/uploads ✓ (media biblioteki WP — bezwzględnie) # - wp-content/themes ✓ (CSS/JS motywu) # - wp-content/plugins ✓ (zasoby pluginow) # Excluded file types: php (nie przepisuj skryptow PHP) # Weryfikacja: sprawdz źródło strony curl -s https://example.com | grep -o 'cdn.example.com[^"]*' | head -5 # Oczekiwany wynik: URL obrazow przepisane na cdn.example.com/...
# Alternatywnie: manualna konfiguracja przez wp-config.php (bez pluginu)
# Dodaj do wp-config.php:
define('WP_CONTENT_URL', 'https://cdn.example.com/wp-content');
# LUB: przepisanie przez .htaccess (Apache)
# RewriteEngine On
# RewriteCond %{HTTP_REFERER} !^https://cdn.example.com [NC]
# RewriteRule ^wp-content/uploads/(.*) https://cdn.example.com/wp-content/uploads/$1 [R=301,L] Perma-Cache i Storage Zone
Perma-Cache to zaawansowana funkcja BunnyCDN — zapisuje cache na trwałe na dysku serwera brzegowego. Jeśli origin jest niedostępny, CDN serwuje stale dane. Wymaga powiązanej Storage Zone.
Storage Zone to wbudowany hosting plików BunnyCDN — alternatywa dla S3 z natywnym CDN delivery. Koszt: $0.02/GB/msc + CDN transfer. Możesz uploadować przez FTP, SFTP lub API REST.
# Upload pliku do Storage Zone przez API curl -X PUT "https://storage.bunnycdn.com/TWOJA_ZONE/images/logo.png" \ -H "AccessKey: TWOJ_STORAGE_KEY" \ -H "Content-Type: image/png" \ --data-binary @logo.png # Plik dostepny przez CDN natychmiast: # https://cdn.example.com/images/logo.png # Listuj pliki curl "https://storage.bunnycdn.com/TWOJA_ZONE/" \ -H "AccessKey: TWOJ_STORAGE_KEY"
BunnyCDN vs Cloudflare — porównanie szczegółowe
| Cecha | BunnyCDN | Cloudflare Free | Cloudflare Pro |
|---|---|---|---|
| Cena transfer (EU) | $0.005-0.01/GB | Darmowy (bez limitu) | Darmowy (bez limitu) |
| Cena miesięczna | Pay per use (~$1-5 małe strony) | $0 | $25/msc |
| Cache HTML stron | Tak (domyślnie off, włącz) | Nie (tylko statyczne) | Tak (Page Rules/Cache Rules) |
| WAF / DDoS | Podstawowy (Edge Rules) | Dobry (reguły OWASP) | Bardzo dobry (managed rules) |
| Liczba PoP (EU) | 40+ PoP w Europie | 300+ PoP globalnie | 300+ PoP globalnie |
| Storage CDN | Tak (Storage Zone $0.02/GB/msc) | Nie | R2 (darmowy egress) |
| Optymalizacja obrazów | Tak (Optimizer — WebP, resize) | Nie (Polish: Pro+) | Tak (Polish + WebP) |
| Najlepszy dla | Media CDN, WordPress assets, Storage | DNS, ochrona, podstawowy cache | Pełne rozwiązanie CDN+WAF |