{"id":5211,"date":"2026-11-01T12:40:00","date_gmt":"2026-11-01T12:40:00","guid":{"rendered":"https:\/\/zynoo.com\/blog\/nginx-reverse-proxy-ubuntu\/"},"modified":"2026-11-01T16:20:55","modified_gmt":"2026-11-01T16:20:55","slug":"nginx-reverse-proxy-ubuntu","status":"publish","type":"post","link":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/","title":{"rendered":"Jak skonfigurowa\u0107 serwer proxy odwrotny Nginx w Ubuntu"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\" id=\"h-\"><strong>Serwer proxy odwrotny Nginx<\/strong> odbiera \u017c\u0105dania od odwiedzaj\u0105cych witryn\u0119 i przekazuje je do innego serwera lub aplikacji. Cz\u0119sto u\u017cywa si\u0119 go, aby udost\u0119pni\u0107 pod nazw\u0105 domeny aplikacje dzia\u0142aj\u0105ce na portach takich jak 3000, bez wystawiania ich wewn\u0119trznych port\u00f3w na dzia\u0142anie internetu.<\/p>\n\n<p class=\"wp-block-paragraph\">W tym poradniku skonfigurujesz Nginx w Ubuntu tak, aby przekazywa\u0142 \u017c\u0105dania do lokalnej aplikacji. Pod\u0142\u0105czysz te\u017c domen\u0119 i w\u0142\u0105czysz HTTPS.<\/p>\n\n<h2 id=\"h-what-is-an-nginx-reverse-proxy\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Czym_jest_serwer_proxy_odwrotny_Nginx\"><\/span>Czym jest serwer proxy odwrotny Nginx?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Serwer proxy odwrotny po\u015bredniczy mi\u0119dzy odwiedzaj\u0105cymi a aplikacj\u0105 backendow\u0105.<\/p>\n\n<p class=\"wp-block-paragraph\">Zamiast \u0142\u0105czy\u0107 si\u0119 bezpo\u015brednio z aplikacj\u0105 dzia\u0142aj\u0105c\u0105 na porcie 3000, odwiedzaj\u0105cy \u0142\u0105cz\u0105 si\u0119 z Nginx przez standardowe porty HTTP lub HTTPS.<\/p>\n\n<p class=\"wp-block-paragraph\">Nginx przekazuje \u017c\u0105danie do aplikacji i zwraca jej odpowied\u017a.<\/p>\n\n<p class=\"wp-block-paragraph\">Przep\u0142yw \u017c\u0105da\u0144 wygl\u0105da nast\u0119puj\u0105co:<\/p>\n\n<p class=\"wp-block-paragraph\"><code>Odwiedzaj\u0105cy \u2192 Nginx \u2192 Aplikacja backendowa<\/code><\/p>\n\n<p class=\"wp-block-paragraph\">Takie rozwi\u0105zanie jest cz\u0119sto stosowane w przypadku aplikacji internetowych opartych na Node.js, Pythonie i innych technologiach. Mo\u017ce te\u017c obs\u0142ugiwa\u0107 terminacj\u0119 TLS, r\u00f3wnowa\u017cenie obci\u0105\u017cenia i scentralizowan\u0105 obs\u0142ug\u0119 \u017c\u0105da\u0144.<\/p>\n\n<div style=\"background:linear-gradient(110deg,#06347d,#0862d8);border-radius:10px;padding:20px 24px;margin:28px 0;color:#fff;font-family:inherit;\">\n  <div style=\"display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;\">\n    <div style=\"flex:1 1 230px;\">\n      <div style=\"font-size:17px;font-weight:700;line-height:1.4;margin-bottom:5px;\">\n        Potrzebujesz VPS do konfiguracji Nginx?\n      <\/div>\n      <div style=\"font-size:13px;line-height:1.6;color:#e1edff;\">\n        Wdra\u017caj aplikacje z dost\u0119pem do konta root i elastycznymi zasobami serwera.\n      <\/div>\n    <\/div>\n    <a href=\"https:\/\/zynoo.com\/vps-hosting.html\" style=\"display:inline-block;background:#fff;color:#073b90;padding:11px 17px;border-radius:6px;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;\">\n      Sprawd\u017a plany VPS \u2192\n    <\/a>\n  <\/div>\n<\/div>\n\n<h2 id=\"h-prerequisites\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Wymagania_wstepne\"><\/span>Wymagania wst\u0119pne<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Przed rozpocz\u0119ciem przygotuj:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Serwer z Ubuntu 24.04 LTS i dost\u0119pem do sudo.<\/li>\n\n\n\n<li>Dost\u0119p do serwera przez SSH.<\/li>\n\n\n\n<li>Domen\u0119 wskazuj\u0105c\u0105 na publiczny adres IP serwera.<\/li>\n\n\n\n<li>Aplikacj\u0119 backendow\u0105 nas\u0142uchuj\u0105c\u0105 na lokalnym porcie.<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\">W tym przyk\u0142adzie u\u017cyjemy portu <code>3000<\/code>.<\/p>\n\n<p class=\"wp-block-paragraph\">Je\u015bli dopiero zaczynasz korzysta\u0107 z SSH, przed kontynuowaniem przeczytaj nasz <a href=\"https:\/\/zynoo.com\/blog\/pl\/ssh-commands\/\">poradnik dla pocz\u0105tkuj\u0105cych dotycz\u0105cy polece\u0144 SSH<\/a>.<\/p>\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/How-to-setup-Nginx-Reverse-Proxy-1024x576.webp\" alt=\"Jak skonfigurowa&#x107; serwer proxy odwrotny Nginx\" class=\"wp-image-5191\" srcset=\"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/How-to-setup-Nginx-Reverse-Proxy-1024x576.webp 1024w, https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/How-to-setup-Nginx-Reverse-Proxy-300x169.webp 300w, https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/How-to-setup-Nginx-Reverse-Proxy-768x432.webp 768w, https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/How-to-setup-Nginx-Reverse-Proxy-1536x864.webp 1536w, https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/How-to-setup-Nginx-Reverse-Proxy.webp 1672w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n<h2 id=\"h-step-1-install-nginx-on-ubuntu\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Krok_1_Zainstaluj_Nginx_w_Ubuntu\"><\/span>Krok 1: Zainstaluj Nginx w Ubuntu<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Po\u0142\u0105cz si\u0119 z serwerem z <a href=\"https:\/\/zynoo.com\/blog\/pl\/debian-vs-ubuntu-vps\/\">Ubuntu<\/a> przez SSH.<\/p>\n\n<p class=\"wp-block-paragraph\">Zaktualizuj indeks pakiet\u00f3w i zainstaluj Nginx:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install nginx -y<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Sprawd\u017a, czy Nginx dzia\u0142a:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo systemctl status nginx<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Powinien pojawi\u0107 si\u0119 status <code>active (running)<\/code>.<\/p>\n\n<p class=\"wp-block-paragraph\">Je\u015bli Nginx nie zosta\u0142 uruchomiony, wykonaj:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo systemctl enable --now nginx<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Mo\u017cesz te\u017c otworzy\u0107 publiczny adres IP serwera w przegl\u0105darce. Je\u015bli dost\u0119p przez HTTP jest dozwolony, powinna wy\u015bwietli\u0107 si\u0119 domy\u015blna strona powitalna Nginx.<\/p>\n\n<p class=\"wp-block-paragraph\">Je\u015bli u\u017cywasz UFW, zezw\u00f3l na ruch HTTP i HTTPS:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo ufw allow 'Nginx Full'<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Sprawd\u017a r\u00f3wnie\u017c regu\u0142y zapory skonfigurowane u dostawcy hostingu. Nie wy\u0142\u0105czaj zapory tylko po to, aby udost\u0119pni\u0107 Nginx.<\/p>\n\n<h2 id=\"h-step-2-start-a-test-backend-application\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Krok_2_Uruchom_testowa_aplikacje_backendowa\"><\/span>Krok 2: Uruchom testow\u0105 aplikacj\u0119 backendow\u0105<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Przed skonfigurowaniem serwera proxy odwrotnego potrzebujemy aplikacji, do kt\u00f3rej Nginx b\u0119dzie przekazywa\u0142 \u017c\u0105dania.<\/p>\n\n<p class=\"wp-block-paragraph\">Na potrzeby prostego testu utw\u00f3rz katalog tymczasowy:<\/p>\n\n<pre class=\"wp-block-code\"><code>mkdir -p ~\/nginx-proxy-test\ncd ~\/nginx-proxy-test<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Utw\u00f3rz prost\u0105 stron\u0119 HTML:<\/p>\n\n<pre class=\"wp-block-code\"><code>echo '&lt;h1&gt;Nginx Reverse Proxy Works!&lt;\/h1&gt;' &gt; index.html<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Teraz uruchom wbudowany serwer HTTP Pythona:<\/p>\n\n<pre class=\"wp-block-code\"><code>python3 -m http.server 3000 --bind 127.0.0.1<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Serwer udost\u0119pni stron\u0119 testow\u0105 na porcie 3000, dost\u0119pnym wy\u0142\u0105cznie przez lokalny adres p\u0119tli zwrotnej.<\/p>\n\n<p class=\"wp-block-paragraph\">Pozostaw ten terminal uruchomiony i otw\u00f3rz drug\u0105 sesj\u0119 SSH.<\/p>\n\n<p class=\"wp-block-paragraph\">Sprawd\u017a, czy aplikacja odpowiada:<\/p>\n\n<pre class=\"wp-block-code\"><code>curl http:\/\/127.0.0.1:3000<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Powinien pojawi\u0107 si\u0119 wynik:<\/p>\n\n<pre class=\"wp-block-code\"><code>&lt;h1&gt;Nginx Reverse Proxy Works!&lt;\/h1&gt;<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Ten serwer Pythona s\u0142u\u017cy wy\u0142\u0105cznie do demonstracji. W przypadku aplikacji produkcyjnej u\u017cyj zalecanego dla niej serwera aplikacji oraz odpowiedniej konfiguracji zarz\u0105dzania us\u0142ug\u0105.<\/p>\n\n<h2 id=\"h-step-3-create-an-nginx-reverse-proxy-configuration\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Krok_3_Utworz_konfiguracje_serwera_proxy_odwrotnego_Nginx\"><\/span>Krok 3: Utw\u00f3rz konfiguracj\u0119 serwera proxy odwrotnego Nginx<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Utw\u00f3rz nowy blok serwera Nginx:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/nginx\/sites-available\/app.example.com<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Zast\u0105p <code>app.example.com<\/code> swoj\u0105 domen\u0105.<\/p>\n\n<p class=\"wp-block-paragraph\">Dodaj nast\u0119puj\u0105c\u0105 konfiguracj\u0119:<\/p>\n\n<pre class=\"wp-block-code\"><code>server {\n    listen 80;\n    server_name app.example.com;\n\n    location \/ {\n        proxy_pass http:\/\/127.0.0.1:3000;\n\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Zapisz plik.<\/p>\n\n<h3 id=\"h-understanding-the-configuration\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Objasnienie_konfiguracji\"><\/span>Obja\u015bnienie konfiguracji<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n<ul class=\"wp-block-list\">\n<li><code>listen 80<\/code> przyjmuje \u017c\u0105dania HTTP.<\/li>\n\n\n\n<li><code>server_name<\/code> okre\u015bla domen\u0119, kt\u00f3r\u0105 ma obs\u0142ugiwa\u0107 Nginx.<\/li>\n\n\n\n<li><code>proxy_pass<\/code> przekazuje \u017c\u0105dania do aplikacji na porcie 3000.<\/li>\n\n\n\n<li><code>proxy_set_header<\/code> przekazuje aplikacji backendowej przydatne informacje o pierwotnym \u017c\u0105daniu.<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\">Aplikacja backendowa musi rozumie\u0107 przekazywane nag\u0142\u00f3wki i bezpiecznie je obs\u0142ugiwa\u0107. Konfiguruj aplikacje tak, aby ufa\u0142y tym nag\u0142\u00f3wkom, tylko je\u015bli \u017c\u0105dania docieraj\u0105 przez zaufany serwer proxy.<\/p>\n\n<h2 id=\"h-step-4-enable-and-test-the-configuration\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Krok_4_Wlacz_i_przetestuj_konfiguracje\"><\/span>Krok 4: W\u0142\u0105cz i przetestuj konfiguracj\u0119<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">W\u0142\u0105cz nowy blok serwera:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo ln -s \/etc\/nginx\/sites-available\/app.example.com \/etc\/nginx\/sites-enabled\/<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Je\u015bli dowi\u0105zanie ju\u017c istnieje, nie tw\u00f3rz go ponownie.<\/p>\n\n<p class=\"wp-block-paragraph\">Sprawd\u017a konfiguracj\u0119 pod k\u0105tem b\u0142\u0119d\u00f3w:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo nginx -t<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Je\u015bli test zako\u0144czy si\u0119 pomy\u015blnie, prze\u0142aduj Nginx:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo systemctl reload nginx<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Teraz otw\u00f3rz:<\/p>\n\n<p class=\"wp-block-paragraph\"><code>http:\/\/app.example.com<\/code><\/p>\n\n<p class=\"wp-block-paragraph\">Je\u015bli rekordy DNS wskazuj\u0105 w\u0142a\u015bciwy serwer, a testowa aplikacja backendowa nadal dzia\u0142a, powinien pojawi\u0107 si\u0119 komunikat:<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Serwer proxy odwrotny Nginx dzia\u0142a!<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Je\u015bli zamiast tego pojawi si\u0119 domy\u015blna strona Nginx, sprawd\u017a rekordy DNS domeny i konfiguracj\u0119 <code>server_name<\/code>.<\/p>\n\n<h2 id=\"h-step-5-enable-https-with-let-s-encrypt\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Krok_5_Wlacz_HTTPS_za_pomoca_Lets_Encrypt\"><\/span>Krok 5: W\u0142\u0105cz HTTPS za pomoc\u0105 Let&#8217;s Encrypt<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">W przypadku publicznej witryny u\u017cyj HTTPS, zamiast pozostawia\u0107 ruch niezaszyfrowany.<\/p>\n\n<p class=\"wp-block-paragraph\">Najpierw upewnij si\u0119, \u017ce domena wskazuje w\u0142a\u015bciwy serwer i \u017ce przychodz\u0105cy ruch na porcie 80 jest dozwolony. Jest to wa\u017cne dla standardowego procesu weryfikacji certyfikatu przez HTTP.<\/p>\n\n<p class=\"wp-block-paragraph\">Zainstaluj Certbot oficjaln\u0105 metod\u0105 opart\u0105 na Snap:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo snap install --classic certbot<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Je\u015bli polecenie <code>certbot<\/code> nie jest jeszcze dost\u0119pne, utw\u00f3rz do niego dowi\u0105zanie:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo ln -s \/snap\/bin\/certbot \/usr\/local\/bin\/certbot<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Nast\u0119pnie wyst\u0105p o certyfikat:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo certbot --nginx -d app.example.com<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Post\u0119puj zgodnie z wy\u015bwietlanymi instrukcjami. Certbot mo\u017ce uzyska\u0107 certyfikat i skonfigurowa\u0107 Nginx tak, aby obs\u0142ugiwa\u0142 Twoj\u0105 domen\u0119 przez HTTPS.<\/p>\n\n<p class=\"wp-block-paragraph\">Nast\u0119pnie przetestuj odnawianie certyfikatu:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo certbot renew --dry-run<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Otw\u00f3rz:<\/p>\n\n<pre class=\"wp-block-code\"><code>https:&#47;&#47;app.example.com<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Twoja aplikacja testowa powinna teraz \u0142adowa\u0107 si\u0119 przez szyfrowane po\u0142\u0105czenie.<\/p>\n\n<h2 id=\"h-step-6-verify-your-reverse-proxy\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Krok_6_Sprawdz_serwer_proxy_odwrotny\"><\/span>Krok 6: Sprawd\u017a serwer proxy odwrotny<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Sprawd\u017a odpowied\u017a przez HTTPS:<\/p>\n\n<pre class=\"wp-block-code\"><code>curl -I https:\/\/app.example.com<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">W przypadku przyk\u0142adowej aplikacji backendowej w Pythonie odpowied\u017a HTTP <code>200 OK<\/code> oznacza, \u017ce \u017c\u0105danie pomy\u015blnie dotar\u0142o do aplikacji.<\/p>\n\n<p class=\"wp-block-paragraph\">Mo\u017cesz te\u017c sprawdzi\u0107, kt\u00f3re procesy nas\u0142uchuj\u0105 na serwerze:<\/p>\n\n<pre class=\"wp-block-code\"><code>sudo ss -ltnp<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Nginx powinien nas\u0142uchiwa\u0107 na skonfigurowanych publicznych portach HTTP i HTTPS, a przyk\u0142adowa aplikacja backendowa \u2014 na <code>127.0.0.1:3000<\/code>.<\/p>\n\n<p class=\"wp-block-paragraph\">Pami\u0119taj, \u017ce tymczasowy serwer Pythona zatrzyma si\u0119 po zako\u0144czeniu jego sesji terminala. Aplikacje produkcyjne powinny dzia\u0142a\u0107 pod nadzorem mened\u017cera proces\u00f3w, takiego jak systemd.<\/p>\n\n<h2 id=\"h-common-nginx-reverse-proxy-problems\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Typowe_problemy_z_serwerem_proxy_odwrotnym_Nginx\"><\/span>Typowe problemy z serwerem proxy odwrotnym Nginx<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<h3 id=\"h-502-bad-gateway\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"502_Bad_Gateway\"><\/span>502 Bad Gateway<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n<p class=\"wp-block-paragraph\">Zwykle oznacza to, \u017ce Nginx nie otrzyma\u0142 prawid\u0142owej odpowiedzi od aplikacji backendowej.<\/p>\n\n<p class=\"wp-block-paragraph\">Sprawd\u017a, czy aplikacja dzia\u0142a i czy port w <code>proxy_pass<\/code> jest prawid\u0142owy.<\/p>\n\n<div class=\"wp-block-group zynoo-related-reading has-border-color has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-color:#c7d8ef;border-width:1px;border-radius:8px;border-left-color:#0069ff;border-left-width:3px;color:#24364f;background-color:#eaf2ff;margin-top:28px;margin-bottom:28px;padding-top:18px;padding-right:22px;padding-bottom:18px;padding-left:22px;font-size:16px;line-height:1.8\">\n<p class=\"wp-block-paragraph\"><strong>Nasz poradnik<\/strong> dotycz\u0105cy <a href=\"https:\/\/zynoo.com\/blog\/pl\/502-bad-gateway-nginx\/\">rozwi\u0105zywania problemu 502 Bad Gateway w Nginx<\/a> szczeg\u00f3\u0142owo omawia dzienniki, us\u0142ugi backendowe i problemy z po\u0142\u0105czeniem.<\/p>\n<\/div>\n\n<h3 id=\"h-504-gateway-timeout\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"504_Gateway_Timeout\"><\/span>504 Gateway Timeout<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n<p class=\"wp-block-paragraph\">B\u0142\u0105d 504 wyst\u0119puje, gdy brama nie otrzyma wymaganej odpowiedzi od us\u0142ugi backendowej w odpowiednim czasie.<\/p>\n\n<p class=\"wp-block-paragraph\">Zanim zwi\u0119kszysz limity czasu, sprawd\u017a przyczyny powolnego przetwarzania \u017c\u0105da\u0144 przez aplikacj\u0119 oraz wydajno\u015b\u0107 jej backendu.<\/p>\n\n<div class=\"wp-block-group zynoo-related-reading has-border-color has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-color:#c7d8ef;border-width:1px;border-radius:8px;border-left-color:#0069ff;border-left-width:3px;color:#24364f;background-color:#eaf2ff;margin-top:28px;margin-bottom:28px;padding-top:18px;padding-right:22px;padding-bottom:18px;padding-left:22px;font-size:16px;line-height:1.8\">\n<p class=\"wp-block-paragraph\"><strong>Wi\u0119cej wskaz\u00f3wek znajdziesz w naszym<\/strong> <a href=\"https:\/\/zynoo.com\/blog\/pl\/504-gateway-timeout\/\">poradniku rozwi\u0105zywania problemu 504 Gateway Timeout<\/a>.<\/p>\n<\/div>\n\n<h3 id=\"h-the-domain-doesn-t-load\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Domena_sie_nie_laduje\"><\/span>Domena si\u0119 nie \u0142aduje<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n<p class=\"wp-block-paragraph\">Sprawd\u017a, czy rekord A domeny wskazuje w\u0142a\u015bciwy publiczny adres IP, odpowiednie porty s\u0105 otwarte w zaporze, a blok serwera Nginx odpowiada \u017c\u0105danej nazwie hosta.<\/p>\n\n<h2 id=\"h-frequently-asked-questions\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Czesto_zadawane_pytania\"><\/span>Cz\u0119sto zadawane pytania<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1793536198078\"><strong class=\"schema-faq-question\">Czym jest proxy_pass w Nginx?<\/strong> <p class=\"schema-faq-answer\">proxy_pass wskazuje Nginx, dok\u0105d ma przekazywa\u0107 \u017c\u0105dania, na przyk\u0142ad do aplikacji HTTP dzia\u0142aj\u0105cej pod adresem 127.0.0.1:3000.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1793536226833\"><strong class=\"schema-faq-question\">Czy serwer proxy odwrotny Nginx mo\u017ce obs\u0142ugiwa\u0107 wiele aplikacji?<\/strong> <p class=\"schema-faq-answer\">Tak. Mo\u017cesz skonfigurowa\u0107 osobne domeny, subdomeny lub \u015bcie\u017cki URL, aby przekazywa\u0107 \u017c\u0105dania do r\u00f3\u017cnych aplikacji backendowych.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1793536270612\"><strong class=\"schema-faq-question\">Czy serwer proxy odwrotny Nginx wymaga domeny?<\/strong> <p class=\"schema-faq-answer\">Nie. Serwer proxy odwrotny mo\u017cna testowa\u0107 przy u\u017cyciu adresu IP lub lokalnie. Domena u\u0142atwia jednak publiczne udost\u0119pnianie aplikacji i uzyskanie standardowego certyfikatu HTTPS.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1793536281086\"><strong class=\"schema-faq-question\">Czy serwer proxy odwrotny Nginx jest bezp\u0142atny?<\/strong> <p class=\"schema-faq-answer\">Tak. Nginx o otwartym kodzie \u017ar\u00f3d\u0142owym obs\u0142uguje funkcj\u0119 serwera proxy odwrotnego bez konieczno\u015bci posiadania licencji komercyjnej.<\/p> <\/div> <\/div>\n\n<h2 id=\"h-conclusion\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Podsumowanie\"><\/span>Podsumowanie<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Serwer proxy odwrotny Nginx w Ubuntu jest ju\u017c skonfigurowany: przekazuje \u017c\u0105dania do lokalnej aplikacji i obs\u0142uguje HTTPS.<\/p>\n\n<p class=\"wp-block-paragraph\">T\u0119 sam\u0105 podstawow\u0105 konfiguracj\u0119 mo\u017cna dostosowa\u0107 do aplikacji opartych na Node.js, <a href=\"https:\/\/www.python.org\/downloads\/\">Pythonie<\/a> i innych technologiach wykorzystuj\u0105cych HTTP, zmieniaj\u0105c adres aplikacji backendowej w <code>proxy_pass<\/code>.<\/p>\n\n<p class=\"wp-block-paragraph\">Przed wdro\u017ceniem tego rozwi\u0105zania w \u015brodowisku produkcyjnym upewnij si\u0119, \u017ce aplikacja uruchamia si\u0119 automatycznie, dzia\u0142a z odpowiednimi uprawnieniami oraz jest obj\u0119ta wystarczaj\u0105cym monitoringiem i zabezpieczeniami.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Serwer proxy odwrotny Nginx odbiera \u017c\u0105dania od odwiedzaj\u0105cych witryn\u0119 i przekazuje je do innego serwera lub aplikacji. Cz\u0119sto u\u017cywa si\u0119 go, aby udost\u0119pni\u0107 pod nazw\u0105 domeny aplikacje dzia\u0142aj\u0105ce na portach takich jak 3000, bez wystawiania ich wewn\u0119trznych port\u00f3w na dzia\u0142anie internetu. W tym poradniku skonfigurujesz Nginx w Ubuntu tak, aby przekazywa\u0142 \u017c\u0105dania do lokalnej aplikacji. [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":5212,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[504],"tags":[364],"class_list":["post-5211","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-poradniki-linux","tag-jak-naprawic"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v28.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Jak skonfigurowa\u0107 serwer proxy odwrotny Nginx w Ubuntu<\/title>\n<meta name=\"description\" content=\"Dowiedz si\u0119, jak skonfigurowa\u0107 serwer proxy odwrotny Nginx w Ubuntu, ustawi\u0107 proxy_pass, pod\u0142\u0105czy\u0107 domen\u0119, w\u0142\u0105czy\u0107 HTTPS i przetestowa\u0107 aplikacj\u0119.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Jak skonfigurowa\u0107 serwer proxy odwrotny Nginx w Ubuntu\" \/>\n<meta property=\"og:description\" content=\"Dowiedz si\u0119, jak skonfigurowa\u0107 serwer proxy odwrotny Nginx w Ubuntu, ustawi\u0107 proxy_pass, pod\u0142\u0105czy\u0107 domen\u0119, w\u0142\u0105czy\u0107 HTTPS i przetestowa\u0107 aplikacj\u0119.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/\" \/>\n<meta property=\"og:site_name\" content=\"ZYNOO Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-11-01T12:40:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-01T16:20:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/Nginx-Reverse-Proxy.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1672\" \/>\n\t<meta property=\"og:image:height\" content=\"941\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Adam Weller\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Adam Weller\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/\"},\"author\":{\"name\":\"Adam Weller\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/#\\\/schema\\\/person\\\/dc0f08d1e3da74e3d4ae21a072525738\"},\"headline\":\"Jak skonfigurowa\u0107 serwer proxy odwrotny Nginx w Ubuntu\",\"datePublished\":\"2026-11-01T12:40:00+00:00\",\"dateModified\":\"2026-11-01T16:20:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/\"},\"wordCount\":1164,\"publisher\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/Nginx-Reverse-Proxy.webp\",\"keywords\":[\"jak to zrobi\u0107\"],\"articleSection\":[\"Poradniki Linux\"],\"inLanguage\":\"pl-PL\"},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/\",\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/\",\"name\":\"Jak skonfigurowa\u0107 serwer proxy odwrotny Nginx w Ubuntu\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/Nginx-Reverse-Proxy.webp\",\"datePublished\":\"2026-11-01T12:40:00+00:00\",\"dateModified\":\"2026-11-01T16:20:55+00:00\",\"description\":\"Dowiedz si\u0119, jak skonfigurowa\u0107 serwer proxy odwrotny Nginx w Ubuntu, ustawi\u0107 proxy_pass, pod\u0142\u0105czy\u0107 domen\u0119, w\u0142\u0105czy\u0107 HTTPS i przetestowa\u0107 aplikacj\u0119.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#breadcrumb\"},\"mainEntity\":[{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536198078\"},{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536226833\"},{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536270612\"},{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536281086\"}],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#primaryimage\",\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/Nginx-Reverse-Proxy.webp\",\"contentUrl\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/Nginx-Reverse-Proxy.webp\",\"width\":1672,\"height\":941,\"caption\":\"Serwer proxy odwrotny Nginx\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Poradniki Linux\",\"item\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/category\\\/poradniki-linux\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Jak skonfigurowa\u0107 serwer proxy odwrotny Nginx w Ubuntu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/#website\",\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/\",\"name\":\"Zynoo Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/#organization\",\"name\":\"ZYNOO\",\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/logo.png\",\"width\":149,\"height\":31,\"caption\":\"ZYNOO\"},\"image\":{\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/#\\\/schema\\\/person\\\/dc0f08d1e3da74e3d4ae21a072525738\",\"name\":\"Adam Weller\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/adam-weller-v2-96x96.jpg\",\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/adam-weller-v2-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/adam-weller-v2-96x96.jpg\",\"caption\":\"Adam Weller\"},\"description\":\"Adam Weller covers web hosting, Linux and online projects for the ZYNOO blog.\",\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/author\\\/adam-weller\\\/\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536198078\",\"position\":1,\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536198078\",\"name\":\"Czym jest proxy_pass w Nginx?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"proxy_pass wskazuje Nginx, dok\u0105d ma przekazywa\u0107 \u017c\u0105dania, na przyk\u0142ad do aplikacji HTTP dzia\u0142aj\u0105cej pod adresem 127.0.0.1:3000.\",\"inLanguage\":\"pl-PL\"},\"inLanguage\":\"pl-PL\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536226833\",\"position\":2,\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536226833\",\"name\":\"Czy serwer proxy odwrotny Nginx mo\u017ce obs\u0142ugiwa\u0107 wiele aplikacji?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Tak. Mo\u017cesz skonfigurowa\u0107 osobne domeny, subdomeny lub \u015bcie\u017cki URL, aby przekazywa\u0107 \u017c\u0105dania do r\u00f3\u017cnych aplikacji backendowych.\",\"inLanguage\":\"pl-PL\"},\"inLanguage\":\"pl-PL\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536270612\",\"position\":3,\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536270612\",\"name\":\"Czy serwer proxy odwrotny Nginx wymaga domeny?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Nie. Serwer proxy odwrotny mo\u017cna testowa\u0107 przy u\u017cyciu adresu IP lub lokalnie. Domena u\u0142atwia jednak publiczne udost\u0119pnianie aplikacji i uzyskanie standardowego certyfikatu HTTPS.\",\"inLanguage\":\"pl-PL\"},\"inLanguage\":\"pl-PL\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536281086\",\"position\":4,\"url\":\"https:\\\/\\\/zynoo.com\\\/blog\\\/pl\\\/nginx-reverse-proxy-ubuntu\\\/#faq-question-1793536281086\",\"name\":\"Czy serwer proxy odwrotny Nginx jest bezp\u0142atny?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Tak. Nginx o otwartym kodzie \u017ar\u00f3d\u0142owym obs\u0142uguje funkcj\u0119 serwera proxy odwrotnego bez konieczno\u015bci posiadania licencji komercyjnej.\",\"inLanguage\":\"pl-PL\"},\"inLanguage\":\"pl-PL\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Jak skonfigurowa\u0107 serwer proxy odwrotny Nginx w Ubuntu","description":"Dowiedz si\u0119, jak skonfigurowa\u0107 serwer proxy odwrotny Nginx w Ubuntu, ustawi\u0107 proxy_pass, pod\u0142\u0105czy\u0107 domen\u0119, w\u0142\u0105czy\u0107 HTTPS i przetestowa\u0107 aplikacj\u0119.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/","og_locale":"pl_PL","og_type":"article","og_title":"Jak skonfigurowa\u0107 serwer proxy odwrotny Nginx w Ubuntu","og_description":"Dowiedz si\u0119, jak skonfigurowa\u0107 serwer proxy odwrotny Nginx w Ubuntu, ustawi\u0107 proxy_pass, pod\u0142\u0105czy\u0107 domen\u0119, w\u0142\u0105czy\u0107 HTTPS i przetestowa\u0107 aplikacj\u0119.","og_url":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/","og_site_name":"ZYNOO Blog","article_published_time":"2026-11-01T12:40:00+00:00","article_modified_time":"2026-11-01T16:20:55+00:00","og_image":[{"width":1672,"height":941,"url":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/Nginx-Reverse-Proxy.webp","type":"image\/webp"}],"author":"Adam Weller","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Adam Weller","Szacowany czas czytania":"5 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#article","isPartOf":{"@id":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/"},"author":{"name":"Adam Weller","@id":"https:\/\/zynoo.com\/blog\/pl\/#\/schema\/person\/dc0f08d1e3da74e3d4ae21a072525738"},"headline":"Jak skonfigurowa\u0107 serwer proxy odwrotny Nginx w Ubuntu","datePublished":"2026-11-01T12:40:00+00:00","dateModified":"2026-11-01T16:20:55+00:00","mainEntityOfPage":{"@id":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/"},"wordCount":1164,"publisher":{"@id":"https:\/\/zynoo.com\/blog\/pl\/#organization"},"image":{"@id":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#primaryimage"},"thumbnailUrl":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/Nginx-Reverse-Proxy.webp","keywords":["jak to zrobi\u0107"],"articleSection":["Poradniki Linux"],"inLanguage":"pl-PL"},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/","url":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/","name":"Jak skonfigurowa\u0107 serwer proxy odwrotny Nginx w Ubuntu","isPartOf":{"@id":"https:\/\/zynoo.com\/blog\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#primaryimage"},"image":{"@id":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#primaryimage"},"thumbnailUrl":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/Nginx-Reverse-Proxy.webp","datePublished":"2026-11-01T12:40:00+00:00","dateModified":"2026-11-01T16:20:55+00:00","description":"Dowiedz si\u0119, jak skonfigurowa\u0107 serwer proxy odwrotny Nginx w Ubuntu, ustawi\u0107 proxy_pass, pod\u0142\u0105czy\u0107 domen\u0119, w\u0142\u0105czy\u0107 HTTPS i przetestowa\u0107 aplikacj\u0119.","breadcrumb":{"@id":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#breadcrumb"},"mainEntity":[{"@id":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536198078"},{"@id":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536226833"},{"@id":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536270612"},{"@id":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536281086"}],"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#primaryimage","url":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/Nginx-Reverse-Proxy.webp","contentUrl":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/Nginx-Reverse-Proxy.webp","width":1672,"height":941,"caption":"Serwer proxy odwrotny Nginx"},{"@type":"BreadcrumbList","@id":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zynoo.com\/blog\/pl\/"},{"@type":"ListItem","position":2,"name":"Poradniki Linux","item":"https:\/\/zynoo.com\/blog\/pl\/category\/poradniki-linux\/"},{"@type":"ListItem","position":3,"name":"Jak skonfigurowa\u0107 serwer proxy odwrotny Nginx w Ubuntu"}]},{"@type":"WebSite","@id":"https:\/\/zynoo.com\/blog\/pl\/#website","url":"https:\/\/zynoo.com\/blog\/pl\/","name":"Zynoo Blog","description":"","publisher":{"@id":"https:\/\/zynoo.com\/blog\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zynoo.com\/blog\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/zynoo.com\/blog\/pl\/#organization","name":"ZYNOO","url":"https:\/\/zynoo.com\/blog\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/zynoo.com\/blog\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2025\/08\/logo.png","contentUrl":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2025\/08\/logo.png","width":149,"height":31,"caption":"ZYNOO"},"image":{"@id":"https:\/\/zynoo.com\/blog\/pl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/zynoo.com\/blog\/pl\/#\/schema\/person\/dc0f08d1e3da74e3d4ae21a072525738","name":"Adam Weller","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/adam-weller-v2-96x96.jpg","url":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/adam-weller-v2-96x96.jpg","contentUrl":"https:\/\/zynoo.com\/blog\/wp-content\/uploads\/2026\/11\/adam-weller-v2-96x96.jpg","caption":"Adam Weller"},"description":"Adam Weller covers web hosting, Linux and online projects for the ZYNOO blog.","url":"https:\/\/zynoo.com\/blog\/pl\/author\/adam-weller\/"},{"@type":"Question","@id":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536198078","position":1,"url":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536198078","name":"Czym jest proxy_pass w Nginx?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"proxy_pass wskazuje Nginx, dok\u0105d ma przekazywa\u0107 \u017c\u0105dania, na przyk\u0142ad do aplikacji HTTP dzia\u0142aj\u0105cej pod adresem 127.0.0.1:3000.","inLanguage":"pl-PL"},"inLanguage":"pl-PL"},{"@type":"Question","@id":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536226833","position":2,"url":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536226833","name":"Czy serwer proxy odwrotny Nginx mo\u017ce obs\u0142ugiwa\u0107 wiele aplikacji?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Tak. Mo\u017cesz skonfigurowa\u0107 osobne domeny, subdomeny lub \u015bcie\u017cki URL, aby przekazywa\u0107 \u017c\u0105dania do r\u00f3\u017cnych aplikacji backendowych.","inLanguage":"pl-PL"},"inLanguage":"pl-PL"},{"@type":"Question","@id":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536270612","position":3,"url":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536270612","name":"Czy serwer proxy odwrotny Nginx wymaga domeny?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Nie. Serwer proxy odwrotny mo\u017cna testowa\u0107 przy u\u017cyciu adresu IP lub lokalnie. Domena u\u0142atwia jednak publiczne udost\u0119pnianie aplikacji i uzyskanie standardowego certyfikatu HTTPS.","inLanguage":"pl-PL"},"inLanguage":"pl-PL"},{"@type":"Question","@id":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536281086","position":4,"url":"https:\/\/zynoo.com\/blog\/pl\/nginx-reverse-proxy-ubuntu\/#faq-question-1793536281086","name":"Czy serwer proxy odwrotny Nginx jest bezp\u0142atny?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Tak. Nginx o otwartym kodzie \u017ar\u00f3d\u0142owym obs\u0142uguje funkcj\u0119 serwera proxy odwrotnego bez konieczno\u015bci posiadania licencji komercyjnej.","inLanguage":"pl-PL"},"inLanguage":"pl-PL"}]}},"_links":{"self":[{"href":"https:\/\/zynoo.com\/blog\/pl\/wp-json\/wp\/v2\/posts\/5211","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zynoo.com\/blog\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zynoo.com\/blog\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zynoo.com\/blog\/pl\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/zynoo.com\/blog\/pl\/wp-json\/wp\/v2\/comments?post=5211"}],"version-history":[{"count":2,"href":"https:\/\/zynoo.com\/blog\/pl\/wp-json\/wp\/v2\/posts\/5211\/revisions"}],"predecessor-version":[{"id":5433,"href":"https:\/\/zynoo.com\/blog\/pl\/wp-json\/wp\/v2\/posts\/5211\/revisions\/5433"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zynoo.com\/blog\/pl\/wp-json\/wp\/v2\/media\/5212"}],"wp:attachment":[{"href":"https:\/\/zynoo.com\/blog\/pl\/wp-json\/wp\/v2\/media?parent=5211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zynoo.com\/blog\/pl\/wp-json\/wp\/v2\/categories?post=5211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zynoo.com\/blog\/pl\/wp-json\/wp\/v2\/tags?post=5211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}