Błąd 403 Forbidden: co oznacza i jak go naprawić
Kluczowy wniosek
Błąd 403 Forbidden oznacza, że serwer zrozumiał Twoje żądanie i odmawia jego wykonania: strona istnieje, ale nie masz prawa jej zobaczyć. Słowa pod komunikatem (nginx, Apache, Cloudflare, Access Denied) wskazują oprogramowanie, które Ci odmówiło. Odwiedzający może wykluczyć tylko swoją stronę (VPN, inna sieć, cookies); sama blokada to ustawienie witryny: uprawnienia plików, brak pliku index, reguła deny lub firewall.
Sprawdź teraz

Zacznij czytać
- Czym jest błąd 403 Forbidden?
- Jak wygląda błąd 403
- 403 vs 401 vs 404: jaka jest różnica?
- Najczęstsze przyczyny błędu 403 Forbidden
- Jak naprawić błąd 403 jako odwiedzający
- 1. Sprawdź adres URL
- 2. Wyczyść pamięć podręczną i cookies przeglądarki
- 3. Wyłącz VPN lub proxy
- 4. Wypróbuj inną sieć lub urządzenie
- Jak naprawić błąd 403 jako właściciel witryny
- 5. Napraw uprawnienia plików i katalogów
- 6. Przejrzyj reguły .htaccess
- 7. Dodaj domyślny plik index
- 8. Wyłącz wtyczki WordPress
- 9. Sprawdź blokowanie IP i reguły firewalla
- 10. Sprawdź reguły HTTPS i certyfikatu klienta
- 11. Napraw Cloudflare 403 / Error 1020
- 12. Napraw Nginx 403 Forbidden
- Debugowanie błędów 403 za pomocą nagłówków HTTP
- Czy błąd 403 wpływa na SEO?
- Jak zapobiegać błędom 403
- Często zadawane pytania
Czym jest błąd 403 Forbidden?
Błąd 403 Forbidden oznacza, że serwer zrozumiał Twoje żądanie i odmawia jego wykonania: strona istnieje, ale nie masz prawa jej zobaczyć. W przeciwieństwie do 404 serwer dokładnie wie, o co prosisz. Jeśli pod komunikatem widać „nginx” lub „Apache”, to tylko oprogramowanie, na którym działa witryna: odmowa jest ustawieniem tej witryny, a nie Twojej przeglądarki.
Standard HTTP, RFC 9110 §15.5.4, definiuje go tymi słowami: serwer „zrozumiał żądanie, ale odmawia jego wykonania” ("understood the request but refuses to fulfill it"). Jeśli wysłano dane logowania, serwer uznaje je za niewystarczające, a klient nie powinien „automatycznie powtarzać żądania z tymi samymi danymi” ("SHOULD NOT automatically repeat the request with the same credentials"). Serwer może też odpowiedzieć kodem 404, żeby ukryć, że strona w ogóle istnieje.
Mówiąc prosto: drzwi istnieją, ale nie możesz przez nie przejść. Jako odwiedzający możesz wykluczyć tylko własną stronę; jako właściciel witryny możesz zmienić regułę.
403 dla wszystkich? Sprawdź z kilku miejsc
Jak wygląda błąd 403
Słowa na stronie 403 i nazwa serwera pod nimi mówią, które oprogramowanie Ci odmówiło, a więc kto może to naprawić:
| Co mówi strona | Kto Ci odmówił | Co to zwykle znaczy |
|---|---|---|
| 403 Forbidden z nginx (lub nginx/1.27.4, angie, openresty) pod spodem | Serwer nginx witryny (Angie i OpenResty bazują na nginx) | Reguła deny, blokada Twojego IP, kraju lub VPN, nieczytelne pliki albo folder bez pliku index |
| Nagłówek Forbidden i You don't have permission to access this resource. („Nie masz uprawnień do tego zasobu”) z linią Apache/2.4 | Serwer Apache witryny | Reguła Require all denied lub Deny from, często w .htaccess, albo uprawnienia plików |
| 403 - Forbidden: Access is denied. | Microsoft IIS | Uprawnienia folderu lub podstatus, np. 403.4 (wymagany HTTPS) |
| 403 Forbidden z LiteSpeed Web Server | LiteSpeed (częsty na hostingu współdzielonym) | Reguły bezpieczeństwa hostingu, uprawnienia lub .htaccess |
| Sorry, you have been blocked („Przepraszamy, zostałeś zablokowany”) z Ray ID Cloudflare | Reguła WAF Cloudflare ustawiona przez właściciela witryny | Żądanie pasuje do reguły firewalla: kraj, reputacja IP, reguła antybotowa |
| Error 1020: Access denied z Ray ID | Inna funkcja bezpieczeństwa Cloudflare | Reguła blokująca bez własnej strony (dokumentacja Cloudflare podaje jako przykłady kontrolę schematu API i JWT) |
| Access Denied. You don't have permission to access … on this server. Reference #18… | Firewall brzegowy Akamai | Twoje IP, sieć, VPN lub wzorzec żądań zablokowano, zanim dotarły do witryny |
| 403 ERROR. The request could not be satisfied. Generated by cloudfront | Amazon CloudFront / AWS WAF | Reguła WAF lub ograniczenie dla kraju |
| Your access to this site has been limited by the site owner („Dostęp do tej witryny został ograniczony przez jej właściciela”) | Wordfence (wtyczka bezpieczeństwa WordPress) | Wtyczka zablokowała Twoje IP lub żądanie; odblokować może tylko właściciel |
Niezależnie od treści znaczenie jest to samo: ten serwer nie poda Ci tej strony. Rozszerzenie przeglądarki lub nieaktualne cookie rzadko to powoduje, ale jej przyczyną może być Twój adres IP, sieć lub VPN.
403 vs 401 vs 404: jaka jest różnica?
Te trzy kody błędów są często mylone. Oto czym się różnią.
| Kod statusu | Znaczenie | Czy można naprawić? | Przykład |
|---|---|---|---|
| 401 Unauthorized | Musisz się najpierw zalogować | Tak — podaj prawidłowe dane logowania | Wejście do panelu administracyjnego bez logowania |
| 403 Forbidden | Jesteś zalogowany, ale nie masz uprawnień | Zależy — serwer Cię blokuje | Próba otwarcia plików innego użytkownika |
| 404 Not Found | Strona nie istnieje | Sprawdź pisownię adresu URL | Wejście na usuniętą lub źle wpisaną stronę |
Kluczowa różnica: błąd 401 prosi o uwierzytelnienie. Błąd 403 informuje, że uwierzytelnienie nie pomoże — serwer już zdecydował, że nie możesz uzyskać dostępu do tego zasobu. Błąd 404 oznacza, że zasób w ogóle nie istnieje.
Jeśli serwer odrzuca samo żądanie jako nieprawidłowe, na przykład z powodu zbyt dużych cookies lub uszkodzonego adresu URL, dostajesz 400 Bad Request.
Najczęstsze przyczyny błędu 403 Forbidden
Zrozumienie przyczyn błędu 403 pozwala szybciej go naprawić. Oto najczęstsze z nich, z podziałem na to, czy jesteś odwiedzającym, czy właścicielem witryny.
- Nieprawidłowe uprawnienia plików — pliki ustawione na 600 lub foldery na 700 blokują publiczny dostęp
- Błędna konfiguracja reguł .htaccess — dyrektywy deny lub reguły mod_rewrite blokujące żądania
- Brak pliku index — brak index.html lub index.php, a listowanie katalogu jest wyłączone
- Blokowanie IP — reguły serwera lub firewalla blokujące Twój adres IP lub kraj
- VPN, proxy lub IP z centrum danych — wiele witryn (streaming, bilety, treści dla dorosłych, banki) blokuje zakresy VPN i hostingu z założenia, a współdzielone IP VPN może też trafić na listę blokad
- Ochrona przed hotlinkiem — serwer blokuje bezpośrednie linkowanie do obrazów lub plików z innych domen
- Konflikty wtyczek WordPress — wtyczki bezpieczeństwa, takie jak Wordfence lub iThemes, blokujące żądania
- Web Application Firewall (WAF) — Cloudflare, Sucuri lub ModSecurity oznaczające Twoje żądanie
- Reguły HTTPS lub certyfikatu klienta — serwer wymagający HTTPS (IIS 403.4) albo certyfikatu klienta (IIS 403.7) odrzuca żądania bez nich. Wygasły certyfikat pokazuje w przeglądarce ostrzeżenie o prywatności, a nie 403
- Rate limiting — zbyt wiele żądań z Twojego IP w krótkim czasie; większość serwerów odpowiada na to kodem 429 Too Many Requests, niektóre firewalle kodem 403
Jak naprawić błąd 403 jako odwiedzający
Jeśli widzisz błąd 403 na stronie, która nie należy do Ciebie, oto kroki do wypróbowania. Są wymienione w kolejności — zacznij od góry.
1. Sprawdź adres URL
Najprostsze rozwiązanie często jest tym właściwym. Upewnij się, że odwiedzasz adres URL strony, a nie katalogu. Wiele serwerów domyślnie blokuje przeglądanie katalogów.
Na przykład wejście na https://example.com/images/ (folder) zwróci 403 na większości serwerów, podczas gdy https://example.com/images/logo.png (konkretny plik) działa poprawnie. Sprawdź, czy nie ma literówek i czy URL prowadzi do rzeczywistej strony.
2. Wyczyść pamięć podręczną i cookies przeglądarki
Przeglądarka może wysyłać przestarzałe cookies lub zapisane tokeny uwierzytelniania, które serwer odrzuca. Ich wyczyszczenie wymusza wysłanie nowego żądania.
Chrome: Settings → Privacy → Clear browsing data → Cookies + Cached images
Firefox: Settings → Privacy → Clear Data → Cookies + Cache
Safari: Settings → Privacy → Manage Website Data → Remove All
Edge: Settings → Privacy → Clear browsing data → Cookies + CachePo wyczyszczeniu zamknij i ponownie otwórz przeglądarkę, a następnie spróbuj otworzyć adres jeszcze raz.
3. Wyłącz VPN lub proxy
VPN-y, proxy i Tor kierują Twój ruch przez współdzielone adresy IP w centrach danych. Wiele witryn blokuje te zakresy całkowicie (zwłaszcza serwisy streamingowe, biletowe, dla dorosłych i banki), a współdzielone IP, którego ktoś inny nadużył, może być na liście blokad.
Rozłącz VPN i odśwież stronę. Jeśli się otworzy, blokada dotyczy adresu IP VPN: wybierz inny serwer albo zostaw VPN wyłączony dla tej witryny. Jeśli nie używasz VPN, sprawdź swój adres IP w Moje IP, a jego reputację w Checker czarnej listy IP.
4. Wypróbuj inną sieć lub urządzenie
Jeśli błąd 403 się utrzymuje, przełącz się na inną sieć (dane mobilne zamiast Wi-Fi lub odwrotnie). Pomoże to ustalić, czy Twój adres IP jest blokowany.
Możesz też spróbować na innym urządzeniu lub w innej przeglądarce. Jeśli strona ładuje się w jednej przeglądarce, ale w drugiej nie, problem prawdopodobnie dotyczy danych z pamięci podręcznej lub rozszerzeń, a nie blokady IP.
Jak naprawić błąd 403 jako właściciel witryny
Jeśli odwiedzający zgłaszają błędy 403 na Twojej witrynie — albo sam je widzisz — rozwiązanie prawie zawsze leży w konfiguracji serwera. Przejdź przez te kontrole po kolei.
5. Napraw uprawnienia plików i katalogów
Nieprawidłowe uprawnienia plików to najczęstsza przyczyna błędów 403 na serwerach WWW. Standardowe uprawnienia to 755 dla katalogów i 644 dla plików.
Oto co oznaczają te liczby: pierwsza cyfra to uprawnienia właściciela, druga — grupy, a trzecia — wszystkich pozostałych. 7 = odczyt + zapis + wykonanie, 5 = odczyt + wykonanie, 4 = tylko odczyt.
# Fix directory permissions (755 = owner rwx, group rx, others rx)
find /var/www/html -type d -exec chmod 755 {} \;
# Fix file permissions (644 = owner rw, group r, others r)
find /var/www/html -type f -exec chmod 644 {} \;
# Verify ownership (should match your web server user)
ls -la /var/www/html/
# Change ownership to web server user if needed
chown -R www-data:www-data /var/www/html/6. Przejrzyj reguły .htaccess
Na serwerach Apache plik .htaccess kontroluje reguły dostępu. Jedna błędnie skonfigurowana linia może zablokować wszystkich odwiedzających. Szukaj dyrektyw Deny from all lub zbyt restrykcyjnych reguł Require.
Najszybszy test: tymczasowo zmień nazwę .htaccess na .htaccess.bak. Jeśli błąd 403 zniknie, problem leży w tym pliku.
# Temporarily rename .htaccess to test
mv /var/www/html/.htaccess /var/www/html/.htaccess.bak
# If 403 goes away, check the file for deny rules:
grep -i 'deny\|require\|allow' /var/www/html/.htaccess.bak
# Common problematic lines:
# Deny from all
# Require all denied
# Order deny,allowJeśli witryna działa bez .htaccess, przejrzyj plik linia po linii. Szukaj dyrektyw Deny from all lub Require all denied, które mogą blokować uprawniony ruch. Zastąp je konkretnymi regułami, które blokują tylko to, co naprawdę chcesz zablokować.
7. Dodaj domyślny plik index
Gdy odwiedzający otwiera adres katalogu (np. example.com/blog/) bez podania pliku, serwer szuka domyślnego pliku index. Jeśli go nie ma, a listowanie katalogu jest wyłączone, dostajesz błąd 403.
Rozwiązanie: utwórz plik index.html lub index.php w każdym publicznie dostępnym katalogu. Możesz też skonfigurować serwer tak, by dopuszczał listowanie katalogu, ale to zwykle ryzyko dla bezpieczeństwa.
# In .htaccess or Apache config — set default index files
DirectoryIndex index.html index.php index.htm
# If you want to allow directory listing (not recommended for production):
Options +Indexes8. Wyłącz wtyczki WordPress
Wtyczki bezpieczeństwa, takie jak Wordfence, iThemes Security, Sucuri i All In One WP Security, mogą wywoływać błędy 403, blokując żądania, które uznają za podejrzane. Często dzieje się to po aktualizacji wtyczki lub zmianie reguł.
Aby sprawdzić, zmień nazwę folderu wtyczek przez FTP lub SSH, co wyłączy wszystkie wtyczki naraz.
# Disable all plugins by renaming the folder
mv /var/www/html/wp-content/plugins /var/www/html/wp-content/plugins.bak
# If 403 goes away, re-enable plugins one by one:
mv /var/www/html/wp-content/plugins.bak /var/www/html/wp-content/plugins
# Then deactivate/reactivate each plugin from WordPress adminJeśli błąd 403 zniknie, włączaj wtyczki pojedynczo, aby znaleźć winowajcę. Sprawdź w logach zapory lub bezpieczeństwa wtyczki, jakie żądania zablokowano.
9. Sprawdź blokowanie IP i reguły firewalla
Firewall serwera lub panel hostingu może blokować określone adresy IP, zakresy lub całe kraje. To częste przy fail2ban, CSF (ConfigServer Security & Firewall) lub listach blokad na poziomie hostingu.
Sprawdź reguły firewalla i logi serwera, by ustalić, czy blokowane są uprawnione adresy IP.
# Check if an IP is blocked by iptables
iptables -L -n | grep "203.0.113.50"
# Check fail2ban jail status
fail2ban-client status
# Unban a specific IP
fail2ban-client set <jail-name> unbanip 203.0.113.50
# Check Apache deny rules in server config
grep -r 'Deny from\|Require not ip' /etc/apache2/10. Sprawdź reguły HTTPS i certyfikatu klienta
403 związany z TLS występuje w dwóch przypadkach: serwer wymaga HTTPS, a żądanie przyszło zwykłym HTTP (IIS zgłasza to jako 403.4, "SSL required"), albo serwer wymaga certyfikatu klienta, którego odwiedzający nie przedstawił (IIS 403.7; reguły Apache oparte na SSLVerifyClient). Wygasły lub nieprawidłowy certyfikat pokazuje ostrzeżenie o prywatności w przeglądarce, nigdy 403.
Porównaj oba schematy dla tego samego adresu URL i sprawdź sam certyfikat w „Sprawdź certyfikat SSL” od DNS Robot:
# Same page over HTTP and HTTPS: a 403 on one only points at a scheme rule
curl -sI http://example.com/page | head -1
curl -sI https://example.com/page | head -111. Napraw Cloudflare 403 / Error 1020
Za Cloudflare błąd 403 może pochodzić od samego Cloudflare, a nie z Twojego serwera, a jego strona wskazuje, która funkcja zadziałała. Niestandardowa lub zarządzana reguła WAF pokazuje "Sorry, you have been blocked"; inne funkcje bezpieczeństwa z akcją Block i bez własnej strony pokazują Error 1020: Access denied (dokumentacja Cloudflare, aktualizacja z października 2026). Oba zawierają Ray ID.
Poproś odwiedzającego o zrzut ekranu z Ray ID, a potem wyszukaj go (lub jego IP) w panelu w Security → Analytics → Events: zdarzenie wskazuje dokładną regułę. Zmień tę regułę zamiast obniżać bezpieczeństwo w całej witrynie.
- Security → WAF — przejrzyj reguły niestandardowe, sprawdź, czy nie blokują uprawnionych ścieżek
- Security → Analytics → Events — znajdź Ray ID (znaczniki czasu są w UTC) i zobacz, która reguła wywołała blokadę
- Security → Bots — Bot Fight Mode może blokować uprawnione roboty i klientów API
- Security Level — jeśli ustawiony na 'I'm Under Attack', wszyscy odwiedzający widzą stronę weryfikacji
- IP Access Rules — sprawdź, czy Twój adres IP lub kraj nie jest przypadkowo zablokowany
12. Napraw Nginx 403 Forbidden
Nginx zwraca błąd 403 przy kilku konkretnych problemach konfiguracyjnych. Najczęstszy: proces worker Nginx nie ma uprawnień do odczytu plików albo dyrektywa autoindex jest wyłączona dla katalogu bez pliku index.
# Check Nginx error log for the exact cause
tail -f /var/log/nginx/error.log
# Common Nginx 403 causes and fixes:
# 1. Permission denied — Nginx runs as 'nginx' or 'www-data' user
# Fix: ensure the user running Nginx can read the files
chown -R nginx:nginx /var/www/html/
# 2. No index file in directory — add to server block:
location / {
index index.html index.php;
}
# 3. SELinux blocking access (CentOS/RHEL)
setsebool -P httpd_read_user_content 1
# Or set proper context:
chcon -R -t httpd_sys_content_t /var/www/html/SELinux to często pomijana przyczyna błędów Nginx 403 w systemach CentOS i RHEL. Nawet jeśli uprawnienia plików są prawidłowe, SELinux może blokować procesowi Nginx odczyt plików. Powyższe polecenie chcon rozwiązuje ten problem.
Debugowanie błędów 403 za pomocą nagłówków HTTP
Gdy nie możesz ustalić przyczyny, sprawdź nagłówki odpowiedzi HTTP serwera. Często zawierają wskazówki, dlaczego żądanie zablokowano.
Użyj narzędzia Checker nagłówków HTTP od DNS Robot lub polecenia curl w terminalu, by zobaczyć pełną odpowiedź.
# Check the status line and headers of a 403 page
curl -I https://example.com/restricted-page
# Headers that name the system in the path:
# server: cloudflare + cf-ray: 8f3a...-LAX → Cloudflare
# server: AkamaiGHost → Akamai
# server: CloudFront + x-amz-cf-id → Amazon CloudFront
# x-sucuri-id → Sucuri firewall
# x-iinfo → Imperva
# server: nginx / Apache / LiteSpeed → the site's own web serverNagłówek CDN lub firewalla przy 403 oznacza, że blokada nastąpiła, zanim żądanie dotarło do Twojego serwera, więc szukaj w dzienniku zdarzeń tej usługi; nazwa Twojego własnego serwera WWW oznacza, że reguła jest w konfiguracji serwera, w .htaccess lub we wtyczce.
Czy błąd 403 wpływa na SEO?
Tak, błędy 403 mogą pogorszyć Twoje pozycje w wyszukiwarce, jeśli dotyczą stron dostępnych dla robotów. Google nie indeksuje adresów URL zwracających kod 4xx (poza 429) i usuwa te, które były już zaindeksowane.
Kilka błędów 403 na celowo ograniczonych stronach (panele administracyjne, prywatne pliki) jest normalne i nie zaszkodzi SEO. Ale publiczne strony zwracające 403 wypadają z indeksu Google.
Raport indeksowania stron w Search Console pokazuje je jako „Strona zablokowana z powodu zabronionego dostępu (błąd 403)”. Googlebot nigdy nie wysyła danych logowania, więc 403 na publicznej stronie oznacza, że blokuje ją firewall lub reguła antybotowa.
Jak zapobiegać błędom 403
Zapobieganie jest łatwiejsze niż diagnostyka. Stosuj te praktyki, by unikać błędów 403 w swojej witrynie.
- Ustaw prawidłowe uprawnienia od początku — 755 dla katalogów, 644 dla plików, nigdy 777
- Zawsze miej plik index — każdy publiczny katalog potrzebuje index.html lub index.php
- Testuj zmiany w .htaccess — wykonaj kopię zapasową pliku przed modyfikacją, testuj jedną regułę naraz
- Monitoruj reguły WAF — przeglądaj logi Cloudflare, Sucuri lub ModSecurity co tydzień
- Dodaj własne adresy IP do białej listy — upewnij się, że adresy IP biura, domu i serwera wdrożeniowego są na białej liście
- Używaj narzędzia Checker nagłówków HTTP — regularnie sprawdzaj, czy Twoje strony zwracają 200, a nie 403
- Skonfiguruj monitoring — użyj monitoringu dostępności, by dostawać alerty, gdy strony zaczną zwracać 403
403 dla wszystkich, czy tylko dla Ciebie?
Sprawdź stronę darmowym narzędziem „Sprawdzanie, czy strona działa” od DNS Robot: pyta z kilku miejsc naraz i pokazuje status, jaki dostaje każde z nich. 403 wszędzie to reguła witryny; 403 tylko u Ciebie to Twoja sieć, VPN lub adres IP.
Źródła
- RFC 9110: HTTP Semantics, §15.5.4 403 Forbidden, IETF
- Error 1020 (Cloudflare 1xxx errors), Cloudflare
- How HTTP status codes, and network and DNS errors affect Google Search, Google Search Central
Często zadawane pytania
Co oznacza 403 Forbidden?
Co oznacza „403 Forbidden nginx”?
Co oznacza „Forbidden” z komunikatem „You don't have permission to access this resource”?
Jak naprawić błąd 403 Forbidden?
Czy 403 Forbidden oznacza, że jestem zablokowany?
Dlaczego dostaję 403 Forbidden przez VPN?
Jaka jest różnica między 403 a 401?
Dlaczego Cloudflare wyświetla 403 Error 1020?
Jakie uprawnienia plików naprawiają błąd 403?
Czy błąd 403 może wpłynąć na SEO?
Powiązane artykuły
Powiązane narzędzia
Czy strona działa?
Awaria dla wszystkich czy tylko u Ciebie? Sprawdź dowolną stronę z 11 miejsc i ze swojego łącza, ze zrzutem ekranu na żywo
Sprawdzanie Nagłówków HTTP
Analizuj nagłówki odpowiedzi HTTP i ocenę nagłówków bezpieczeństwa
Sprawdzanie Certyfikatu SSL
Weryfikuj ważność certyfikatu SSL i szczegóły bezpieczeństwa
Wyszukiwanie DNS
Wszystkie rekordy DNS prosto z serwerów nazw domeny, obok pamięci podręcznej Google i Cloudflare
Sprawdzanie Portów
Testuj łączność portów i dostępność usług



