ERRINVALIDURL to błąd występujący w środowisku Node.js i nowoczesnych frameworkach webowych, który pojawia się, gdy próbujesz utworzyć lub użyć nieprawidłowego adresu URL. Najczęściej jest sygnalizowany przez klasy językowe (np. URL w JavaScript) lub frameworki (np. next-auth, Axios), gdy dany ciąg znaków nie spełnia wymagań poprawnej składni URL-a (RFC 3986).
- Typowe przyczyny błędu
- Błąd ERRINVALIDURL – przykładowe komunikaty
- Jak rozpoznać i zdiagnozować problem
- Przykłady błędów w popularnych technologiach
- Naprawa błędu – instrukcje krok po kroku
- Przykładowy kod – jak naprawić błąd w konkretnej sytuacji
- Najczęstsze pytania i odpowiedzi
- Podsumowanie
- Najważniejsze zalecenia
Typowe przyczyny błędu
- Podwójny protokół – np.
http:://localhost:5173(dwa dwukropki po “http”). - Brak protokołu – np.
localhost:5173(brak “http://” lub “https://”). - Błędny adres IP – np.
http://192.168.0.285(285 to niepoprawny adres IP). - Błąd w zmiennej środowiskowej – np. pusta zmienna lub taka, która nie zawiera pełnego, poprawnego adresu URL.
- Zła wartość nagłówka X-Forwarded-Proto – np.
https,httpzamiast pojedynczej wartości, co może prowadzić do błędu podczas konstruowania URL-a przez middleware. - Brak konfiguracji bazowego URL w Axios – próba użycia względnego URL-a (
/user/12345) bez ustawienia baseURL na serwerze Node.js. - Błąd w konfiguracji proxy – np. nieprawidłowy format rekordu proxy w ustawieniach frameworka.
- Problem z parametrami połączenia do bazy danych – np. błędny adres członka repliki MongoDB.
Błąd ERRINVALIDURL – przykładowe komunikaty
TypeError [ERR_INVALID_URL]: Invalid URL input: 'http:://localhost:5173'
TypeError [ERR_INVALID_URL]: Invalid URL input: 'http://192.168.0.285'
Jak rozpoznać i zdiagnozować problem
- Sprawdź, gdzie i kiedy pojawia się błąd – czy podczas uruchamiania aplikacji, logowania, wysyłania żądania HTTP, konfigurowania proxy, czy połączenia z bazą danych?
- Przejrzyj logi i stack trace – zidentyfikuj dokładną linię kodu, w której pojawia się błąd.
- Sprawdź wartości zmiennych środowiskowych – czy
AUTH_URL,NEXTAUTH_URL,BASE_URLsą poprawne i nie zawierają literówek? - Zweryfikuj nagłówki X-Forwarded-Proto i X-Forwarded-Host – czy nie zawierają kilku wartości oddzielonych przecinkami, co może zakłócać parsowanie URL-a.
- Przeczytaj dokumentację stosowanego frameworka/biblioteki – często błędy wynikają ze zmiany API w nowszej wersji.
Przykłady błędów w popularnych technologiach
| Technologia | Typowy błąd | Przyczyna | Rozwiązanie |
|---|---|---|---|
| next-auth | http:://localhost:5173 |
Podwójny dwukropek | Usuń nadmiarowy dwukropek |
| Axios | /user/12345 (bez baseURL w Node.js) |
Brak bazowego URL | Ustaw baseURL |
| Proxy (np. Bud.js) | Nieprawidłowy adres proxy | Zły format rekordu proxy | Popraw wpis w konfiguracji |
| MongoDB | Jeden członek repliki nieosiągalny | Błędny adres w connection string | Popraw connection string |
Naprawa błędu – instrukcje krok po kroku
Dla webmastera i web dewelopera
1. Sprawdź, gdzie pojawia się błąd –
Znajdź w logach lub stack trace dokładną linię kodu, w której rzucany jest błąd. To kluczowe, by móc sprawdzić, jaką wartość URL-a próbuje się utworzyć.
2. Zidentyfikuj źródło URL-a –
Czy URL pochodzi ze zmiennej środowiskowej (process.env), z nagłówka HTTP, czy jest generowany na podstawie innych danych? Sprawdź, czy nie ma literówek, niepotrzebnych znaków (np. podwójnych dwukropków, przecinków zamiast pojedynczej wartości).
3. Sprawdź nagłówki X-Forwarded-Proto i X-Forwarded-Host –
Jeśli korzystasz z reverse proxy (np. Nginx, Cloudflare), upewnij się, że nagłówki mają pojedynczą wartość (np. https, a nie https,http).
4. Zweryfikuj zmienne środowiskowe –
Przejrzyj pliki .env i upewnij się, że nie są puste ani nie zawierają błędów. Przykład poprawnej zmiennej:
NEXTAUTH_URL=http://localhost:3000
Niepoprawnie:
NEXTAUTH_URL=http:://localhost:3000
Puste:
NEXTAUTH_URL=
5. Zaktualizuj lub przywróć wersję biblioteki/frameworka –
Niektóre błędy pojawiają się tylko w konkretnych wersjach – sprawdź, czy nie jest to znany błąd, zgłoszony w repozytorium projektu. Czasem wystarczy przywrócić poprzednią, stabilną wersję.
6. Przetestuj ręcznie URL –
Możesz w konsoli Node.js sprawdzić, czy dany adres jest poprawny:
new URL('http://localhost:3000'); // poprawne new URL('http:://localhost:3000'); // błąd
7. Napraw konfigurację proxy (jeśli dotyczy) –
Jeśli błąd pojawia się przy proxy, upewnij się, że adres jest poprawny i nie zawiera dodatkowych spacji czy niepotrzebnych znaków.
Dla użytkownika końcowego (np. administratora serwera, wdrożeniowca)
1. Sprawdź logi aplikacji –
Jeśli pojawia się błąd TypeError [ERR_INVALID_URL], zgłoś to administratorowi IT lub zespołowi developerskiemu razem z kompletem logów.
2. Nie modyfikuj plików konfiguracyjnych bez wiedzy –
Jeśli nie jesteś pewien, jak zmieniać zmienne środowiskowe lub pliki konfiguracyjne, poproś o pomoc.
3. Upewnij się, że wszystkie usługi są dostępne –
Jeśli błąd dotyczy np. bazy danych, sprawdź, czy serwery są online i czy adresy są poprawne.
Przykładowy kod – jak naprawić błąd w konkretnej sytuacji
Problem – Błąd w next-auth spowodowany podwójnym dwukropkiem (http:://localhost:5173)
Rozwiązanie –
Popraw zmienną środowiskową lub kod generujący URL, aby nie zawierał podwójnego dwukropka. Przykład poprawnej wartości:
NEXTAUTH_URL=http://localhost:3000
Niepoprawnie:
NEXTAUTH_URL=http:://localhost:3000
Jeśli błąd wynika ze zmiany API biblioteki –
Rozważ przywrócenie wersji, w której problem nie występuje. Np. dla @auth/sveltekit:
npm install @auth/[email protected]
ostrzeżenie: w starszych wersjach mogą występować inne błędy, np. dublowanie ścieżek.
Najczęstsze pytania i odpowiedzi
Q: Dlaczego pojawia się błąd ERRINVALIDURL tylko na produkcji?
A: Często wynika to z innych wartości zmiennych środowiskowych lub nagłówków HTTP (np. inna konfiguracja proxy, inne wartości X-Forwarded-Proto).
Q: Jak sprawdzić, czy URL jest poprawny?
A: Możesz użyć narzędzi online sprawdzających składnię URL lub w konsoli Node.js:
try { new URL('http://localhost:3000'); console.log('OK'); } catch (e) { console.log('Błąd:', e); }
Q: Co zrobić, jeśli nie mogę znaleźć przyczyny?
A: Sprawdź czy nie masz podobnego przypadku w repozytorium projektu na GitHub Issues – często błędy są zgłaszane przez społeczność, a czasem istnieją już rozwiązania. Jeśli to możliwe, zgłoś błąd razem ze szczegółowym opisem środowiska i logami.
Podsumowanie
Błąd ERR_INVALID_URL najczęściej wynika ze złej składni adresu URL, literówek w zmiennych środowiskowych, błędnej konfiguracji proxy lub nagłówków HTTP albo nieaktualnej wersji biblioteki. Dokładna analiza logów, weryfikacja wartości zmiennych oraz sprawdzenie dokumentacji frameworka to podstawowe kroki do szybkiego rozwiązania problemu. W razie trudności warto zajrzeć do repozytoriów GitHub (np. next-auth, Axios), gdzie społeczność często dzieli się rozwiązaniami podobnych błędów.
Najważniejsze zalecenia
- Zawsze sprawdzaj składnię URL-a przed umieszczeniem w zmiennej środowiskowej lub konfiguracji.
- Sprawdzaj logi i stack trace – dokładnie wskażą, gdzie i dlaczego pojawił się błąd.
- Używaj stabilnych wersji bibliotek i uważnie śledź zmiany w API.
- Nie pomijaj kroku testowego – przetestuj każdą zmianę na środowisku testowym przed produkcją.
W ten sposób unikniesz większości problemów związanych z błędem ERR_INVALID_URL i szybko rozwiążesz go, jeśli się jednak pojawi.

