VPS

Web na VPS: Nginx a HTTPS zdarma (Let's Encrypt)

Jak na VPS s Ubuntu nebo Debianem nainstalovat Nginx, nasměrovat doménu, spustit web a zdarma zapnout HTTPS certifikátem Let's Encrypt přes Certbot.

2 min čteníAktualizováno 11. října 2026

Chceš na VPS provozovat web nebo aplikaci s vlastní doménou a zámečkem v prohlížeči? Stačí Nginx a bezplatný certifikát od Let's Encrypt. Návod je pro Ubuntu a Debian, příkazy spouštíš jako root přes SSH.

1. Nasměruj doménu na VPS

U registrátora domény vytvoř A záznam, který ukazuje na IP adresu tvé VPS (najdeš ji v panelu v sekci Moje VPS):

example.cz      A    IP_TVÉ_VPS
www.example.cz  A    IP_TVÉ_VPS

Změna DNS se projeví obvykle během minut, někdy až za pár hodin. Ověříš ji příkazem ping example.cz.

2. Instalace Nginx

apt update
apt install -y nginx
systemctl enable --now nginx

Pokud používáš firewall ufw (viz zabezpečení VPS), povol web:

ufw allow 'Nginx Full'

Teď by na adrese http://example.cz měla být uvítací stránka Nginx.

3. Konfigurace webu

Vytvoř složku pro web a jednoduchou stránku:

mkdir -p /var/www/example.cz
echo '<h1>Funguje to!</h1>' > /var/www/example.cz/index.html

Vytvoř soubor /etc/nginx/sites-available/example.cz:

server {
    listen 80;
    listen [::]:80;
    server_name example.cz www.example.cz;
    root /var/www/example.cz;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

Zapni ho a zkontroluj konfiguraci:

ln -s /etc/nginx/sites-available/example.cz /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

4. HTTPS zdarma přes Certbot

apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.cz -d www.example.cz

Certbot se zeptá na e-mail (pro upozornění na expiraci), ověří doménu a sám upraví konfiguraci Nginx. Zvol přesměrování z HTTP na HTTPS. Certifikát platí 90 dní a obnovuje se automaticky – ověřit to můžeš příkazem:

certbot renew --dry-run

5. Aplikace na portu (Node.js, Python…)

Pokud tvoje aplikace běží třeba na portu 3000, nastav Nginx jako reverzní proxy – místo bloku location / výše použij:

location / {
    proxy_pass http://127.0.0.1:3000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

Aplikace pak nemusí být vystavená do internetu napřímo – stačí, aby poslouchala na 127.0.0.1.

Časté problémy

  • Certbot hlásí „Timeout during connect“ – doména ještě neukazuje na VPS, nebo je zavřený port 80 ve firewallu.
  • 502 Bad Gateway – aplikace za proxy neběží nebo poslouchá na jiném portu.
  • Změny se neprojeví – po úpravě konfigurace vždy nginx -t a systemctl reload nginx.

Chceš jen jednoduchý web bez starostí o server? Podívej se na náš webhosting.

Pořád si nevíš rady? Rádi pomůžeme.