Aby strona WWW, panel lub inna usługa na VPS działała pod Twoją domeną, domena musi wskazywać na adres IP VPS. Pokażemy, jakie rekordy utworzyć u zwykłego dostawcy DNS i w Cloudflare, kiedy włączyć proxy Cloudflare, a kiedy nie, oraz jak naprawić typowe błędy.
Czego potrzebujesz
- VPS w StormHost i jego adresy IP z zakładki Sieć
- Domena i dostęp do zarządzania jej rekordami DNS
- Podstawy DNS (Rekordy DNS bez tajemnic)
- Około 15 minut (plus oczekiwanie na DNS)
Co ustawisz#
W strefie klienta otwórz Moje usługi, kliknij VPS i w zakładce Sieć skopiuj adres IPv4 (na przykład 203.0.113.10) oraz adres IPv6 (na przykład 2001:db8::10).
| Nazwa | Typ | Wartość | Do czego służy |
|---|---|---|---|
@ | A | 203.0.113.10 | Korzeń domeny example.cz wskazuje na VPS. |
@ | AAAA | 2001:db8::10 | To samo dla IPv6. Tylko jeśli usługa na VPS nasłuchuje także na IPv6. |
www | CNAME | example.cz | www.example.cz wskazuje tam, gdzie korzeń. |
panel (przykład) | A | 203.0.113.10 | Inna usługa na subdomenie, na przykład panel lub aplikacja. |
Zamień example.cz na swoją domenę, a adresy IP na te z zakładki Sieć. Jeśli www ma wskazywać gdzie indziej niż korzeń, zamiast CNAME użyj osobnego rekordu A.
AAAA tylko z działającym IPv6
Urządzenia z IPv6 (zazwyczaj na danych mobilnych) najpierw próbują rekordu AAAA. Jeśli strona nie nasłuchuje na adresie IPv6, będą miały problemy, mimo że po IPv4 wszystko działa. Let's Encrypt przy walidacji domeny także preferuje IPv6. Rekord AAAA dodaj dopiero po potwierdzeniu, że usługa odpowiada na IPv6 (dla Nginx: dyrektywa listen [::]:80;).
Tworzenie rekordów#
Najpierw ustal, gdzie działa DNS Twojej domeny: u rejestratora czy gdzie indziej (na przykład w Cloudflare). Sprawdzisz to poleceniem nslookup -type=NS example.cz (Windows) lub dig +short example.cz NS (macOS, Linux). Rekordy edytuj tam, gdzie wskazują nameservery.
Cloudflare
Jeśli Twojej domeny nie ma jeszcze w Cloudflare, najpierw ją dodaj zgodnie z następną sekcją „Dodawanie domeny do Cloudflare”.
- Zaloguj się do Cloudflare, otwórz domenę i w lewym menu przejdź do DNS › Records.
- Usuń stare rekordy A i AAAA dla
@iwww, które wskazują gdzie indziej (na przykład na stronę parkingową rejestratora). - Kliknij Add record.
- Jako Type wybierz
A, w Name wpisz@(oznacza korzeń domeny), a jako zawartość podaj adres IPv4 VPS. - Ustaw Proxy status zgodnie z tabelą w sekcji „DNS only czy Proxied?” (zwykle Proxied dla strony WWW, DNS only dla wszystkiego innego).
- Zapisz przyciskiem Save.
- W ten sam sposób dodaj rekord
CNAMEz Namewwwi celemexample.cz, a w razie potrzeby rekord AAAA z adresem IPv6.
Inny dostawca DNS
Każdy dostawca nazywa tę sekcję nieco inaczej (na przykład rekordy DNS, strefa DNS lub edytor strefy), ale zasada jest ta sama:
- Zaloguj się u dostawcy, na którego wskazują nameservery domeny.
- Otwórz zarządzanie rekordami DNS domeny.
- Usuń lub popraw stare rekordy A i AAAA dla korzenia i
www, które wskazują gdzie indziej. - Dodaj rekord A: nazwa
@(lub puste pole, zależnie od interfejsu), wartość adres IPv4 VPS. - Opcjonalnie dodaj rekord AAAA z adresem IPv6 VPS.
- Dodaj CNAME: nazwa
www, wartośćexample.cz(niektóre interfejsy wymagająexample.cz.z kropką). - Na czas testów ustaw TTL na
300; później możesz podnieść go do3600. - Zapisz zmiany.
Nowe rekordy zwykle pojawiają się w ciągu kilku minut. Zmiana istniejącego rekordu zaczyna działać dopiero po upływie jego starego TTL.
Dodawanie domeny do Cloudflare#
Robisz to tylko raz, jeśli chcesz zarządzać DNS w Cloudflare. Cloudflare co jakiś czas zmienia interfejs; poniższe nazwy odpowiadają jego dokumentacji na dzień 1 października 2026.
- W Cloudflare otwórz Domains i kliknij Onboard a domain.
- Wpisz domenę główną (
example.cz, bezwww) i kontynuuj. - Wybierz plan. Do skierowania domeny wystarczy bezpłatny.
- Przejrzyj rekordy, które Cloudflare znalazł. Dodaj brakujące (zwłaszcza rekordy pocztowe MX i TXT, jeśli używasz domeny do poczty) i usuń błędne.
- Jeśli u rejestratora domena ma włączony DNSSEC, wyłącz go u rejestratora przed zmianą nameserverów. W przeciwnym razie domena przestanie działać po zmianie.
- U rejestratora zastąp obecne nameservery dwoma nameserverami przydzielonymi przez Cloudflare. Skopiuj je dokładnie.
- Poczekaj, aż Cloudflare pokaże status Active (zwykle do 24 godzin; dostaniesz też e-mail).
- Opcjonalnie włącz potem DNSSEC ponownie, tym razem przez Cloudflare.
Nie zapomnij o poczcie
Po zmianie nameserverów obowiązują wyłącznie rekordy w Cloudflare. Jeśli używasz domeny do poczty i nie przeniesiesz rekordów MX lub TXT do Cloudflare, poczta do domeny przestanie docierać. Przed zmianą NS zapisz wszystkie rekordy z dotychczasowego zarządzania DNS.
DNS only czy Proxied?#
Każdy rekord A, AAAA i CNAME w Cloudflare ma Proxy status:
- Proxied (pomarańczowa chmurka): odwiedzający łączą się z serwerami Cloudflare, które przekazują ruch do Twojego VPS. Cloudflare dodaje ochronę i cache oraz ukrywa adres IP VPS. Działa tylko dla stron WWW (HTTP i HTTPS) na obsługiwanych portach: HTTP 80, 8080, 8880, 2052, 2082, 2086, 2095 oraz HTTPS 443, 2053, 2083, 2087, 2096, 8443.
- DNS only (szara chmurka): Cloudflare tylko odpowiada adresem IP VPS i nie dotyka ruchu. Działa dla wszystkiego.
Rekordy Proxied mają zawsze TTL ustawiony na Auto (300 sekund) i można ich używać tylko z typami A, AAAA i CNAME.
| Usługa na VPS | Proxy status | Dlaczego |
|---|---|---|
| Strona WWW (Nginx, WordPress) na portach 80/443 | Proxied (DNS only też działa) | Ochrona i cache. Wymaga trybu SSL Full (strict), zobacz niżej. |
| Interfejs WWW panelu gier na własnym VPS (443) | Proxied lub DNS only | To strona WWW; za proxy aplikacja musi jednak ufać adresom IP Cloudflare (szczegóły w poradniku o panelu). |
| Daemon panelu gier na węźle (zwykle porty 8080 i SFTP 2022) | DNS only | Komunikacja węzła i SFTP nie działają poprawnie przez proxy (poradnik o węźle). |
| SSH (22) | DNS only | Proxy przekazuje tylko ruch WWW. |
| Minecraft, FiveM, Rust i inne gry | DNS only | Proxy nie przenosi protokołów gier (TCP ani UDP). |
Serwer pocztowy (mail.example.cz) | DNS only | Proxy nie przenosi poczty, a cel MX musi wskazywać bezpośrednio na serwer. |
| SFTP, bazy danych, własne porty Twoich aplikacji | DNS only | To nie jest ruch WWW. |
Ukrywanie adresu IP ma swoje granice
Rekord Proxied ukrywa adres IP VPS, ale tylko do czasu, aż zdradzi go inny rekord. Jeśli masz mc.example.cz jako DNS only wskazujący na to samo IP, każdy może je poznać. W przypadku serwerów gier nie da się tego uniknąć; gracze potrzebują IP.
Tryb SSL/TLS w Cloudflare#
Gdy strona jest Proxied, istnieją dwa połączenia: między odwiedzającym a Cloudflare oraz między Cloudflare a Twoim VPS. To drugie ustawia tryb w Cloudflare, w sekcji SSL/TLS na stronie Overview.
| Tryb | Połączenie z Cloudflare do VPS | Zalecenie |
|---|---|---|
| Off | Bez żadnego szyfrowania. | Nie używaj. |
| Flexible | Nieszyfrowane HTTP. | Nie używaj: dane do VPS idą nieszyfrowane, a jeśli VPS przekierowuje na HTTPS, powstaje niekończąca się pętla przekierowań. |
| Full | HTTPS, ale certyfikat VPS nie jest sprawdzany. | Tylko tymczasowo, do czasu skonfigurowania ważnego certyfikatu na VPS. |
| Full (strict) | HTTPS ze sprawdzeniem ważnego certyfikatu. | Zalecany. Potrzebujesz certyfikatu na VPS, na przykład z Let's Encrypt. |
| Strict (SSL-Only Origin Pull) | Zawsze HTTPS ze sprawdzeniem certyfikatu, nawet jeśli odwiedzający przyszedł po HTTP. | Dla zaawansowanych. |
Cloudflare oferuje też automatyczny wybór trybu (Automatic SSL/TLS), który wybiera najbezpieczniejszy tryb obsługiwany przez Twój serwer. Pewniej jest ręcznie ustawić Full (strict), gdy masz już certyfikat na VPS.
Pierwszy certyfikat Let's Encrypt za Cloudflare
Najpewniejsza metoda: najpierw zostaw rekord jako DNS only, uzyskaj certyfikat na VPS (Certbot, poradnik Nginx i HTTPS), a potem przełącz rekord na Proxied i tryb na Full (strict). Walidacja Let's Encrypt (HTTP-01) zawsze przechodzi przez port 80, więc ten port musi być na VPS otwarty.
Firewall na VPS#
Aby strona odpowiadała, porty 80 i 443 (TCP) muszą być na VPS otwarte:
- w firewallu w strefie klienta: Firewall w strefie klienta,
- w firewallu wewnątrz VPS, jeśli go używasz: UFW.
Weryfikacja#
Sprawdź, gdzie wskazuje domena:
bash dig +short example.cz A dig +short www.example.cz Adig +short– wypisuje tylko wartość rekordu.example.cz A– nazwa i typ rekordu.
Przy DNS only zobaczysz adres IP VPS. Przy Proxied zobaczysz adresy IP Cloudflare, co jest w porządku. W Windows użyj
nslookup example.cz.Sprawdź, czy strona odpowiada:
bash curl -I http://example.czcurl– pobiera odpowiedź serwera WWW.-I– tylko nagłówki odpowiedzi, bez treści strony.
Odpowiedź zaczyna się od linii statusu, na przykład
HTTP/1.1 200 OKlub przekierowania301. Przy rekordzie Proxied nagłówki zawierająserver: cloudflare.W Windows wpisz w PowerShell
curl.exe -I http://example.cz. Samocurlw Windows PowerShell to alias innego polecenia (Invoke-WebRequest), które nie zna przełącznika-I.Otwórz domenę w przeglądarce.
Konfigurację serwera WWW i HTTPS kontynuuj w poradniku Strona WWW na VPS: Nginx i Let's Encrypt; Minecraft na własnej domenie w poradniku Adres serwera i domena.
Rozwiązywanie problemów#
Cloudflare pokazuje Error 521: Web server is down#
Cloudflare dotarł do VPS, ale VPS odrzucił połączenie. Na VPS nie działa żaden serwer WWW albo nie nasłuchuje on na właściwym porcie.
systemctl status nginx
ss -tlnp | grep -E ':(80|443) 'systemctl status nginx– pokazuje, czy usługa Nginx działa (active (running)).ss -tlnp– wypisuje nasłuchujące porty:-tTCP,-ltylko nasłuchujące,-nliczby zamiast nazw,-pprogram zajmujący port.grep -E ':(80|443) '– zostawia tylko linie z portami 80 i 443.
Jeśli Nginx nie działa, uruchom go (systemctl start nginx) i poszukaj błędu w wyjściu statusu. Jeśli działa, sprawdź firewall: porty 80 i 443 muszą być dozwolone także dla adresów IP Cloudflare.
Error 522: Connection timed out#
Cloudflare w ogóle nie mógł dotrzeć do VPS. Najczęściej firewall odrzuca ruch (port 80/443 nie jest dozwolony), DNS ma błędny adres IP albo VPS jest zatrzymany lub przeciążony. Porównaj IP w rekordzie z zakładką Sieć i sprawdź reguły firewalla.
ERR_TOO_MANY_REDIRECTS (zbyt wiele przekierowań)#
Cloudflare jest w trybie Flexible, a serwer przekierowuje HTTP na HTTPS. Cloudflare łączy się z serwerem po HTTP, serwer odsyła go na HTTPS i tak w kółko. Ustaw tryb Full (strict) (VPS potrzebuje certyfikatu).
Error 526: Invalid SSL certificate#
Tryb to Full (strict), a Cloudflare nie zaakceptował certyfikatu na VPS: wygasł, został wystawiony na inną nazwę albo jest samopodpisany. Uzyskaj ważny certyfikat dokładnie dla tej domeny (i także dla www, jeśli go używasz) albo tymczasowo przełącz rekord na DNS only. Tryb Full ukryłby błąd, bo nie sprawdza certyfikatu, ale połączenie z VPS byłoby wtedy niezweryfikowane.
Error 525: SSL handshake failed#
Tryb to Full lub Full (strict), ale nie udało się nawiązać połączenia HTTPS z portem 443 na VPS. Najczęściej strona na porcie 443 nie ma w ogóle skonfigurowanego certyfikatu (w konfiguracji Nginx brakuje bloku listen 443 ssl). Skonfiguruj HTTPS według poradnika Nginx i HTTPS albo tymczasowo przełącz rekord na DNS only.
Strona działa, ale SSH, Minecraft lub SFTP przez domenę nie#
Rekord jest Proxied. Dla tych usług utwórz osobną subdomenę ustawioną na DNS only (na przykład ssh.example.cz lub mc.example.cz) albo łącz się bezpośrednio z adresem IP.
Certbot zgłasza błąd walidacji za Cloudflare#
Tymczasowo przełącz rekord na DNS only, sprawdź, czy port 80 jest otwarty, i wystaw certyfikat ponownie. Jeśli masz rekord AAAA, upewnij się, że strona odpowiada także na IPv6, albo tymczasowo usuń rekord AAAA.
Domena wciąż pokazuje stronę parkingową rejestratora#
Dla domeny nadal ustawiony jest stary rekord A albo nameservery wskazują gdzie indziej niż tam, gdzie edytowano rekord. Przejrzyj artykuł Rekordy DNS bez tajemnic i sprawdź NS.
Podsumowanie
- Dla strony WWW ustaw rekord A dla
@na IPv4 VPS, CNAME dlawwwna domenę, a AAAA tylko z działającym IPv6. - Rekordy edytuj tam, gdzie wskazują nameservery domeny.
- W Cloudflare używaj Proxied (pomarańczowej chmurki) tylko dla stron WWW; SSH, gry, pocztę i SFTP zostaw jako DNS only.
- Używaj trybu SSL Full (strict) z ważnym certyfikatem na VPS, nigdy Flexible.
- Błąd 521 oznacza, że VPS odrzucił połączenie, 522 że Cloudflare nie mógł do niego dotrzeć.
Dalsza lektura#
- Cloudflare: Proxy status (otwiera się w nowym oknie)
- Cloudflare: porty sieciowe obsługiwane przez proxy (otwiera się w nowym oknie)
- Cloudflare: tryby szyfrowania SSL/TLS (otwiera się w nowym oknie)
- Cloudflare: dodawanie domeny (full setup) (otwiera się w nowym oknie)
- Let's Encrypt: typy wyzwań (challenge) (otwiera się w nowym oknie)