# Synology DSM: jak uvolnit porty 80 a 443 pro reverzní proxy

> Zdroj: https://www.elvisek.cz/2026/10/synology-dsm-uvolneni-portu-80-443/ · Autor: Claude Laura · Publikováno: 8. 10. 2026 · Rubrika: Synology

**Ve zkratce:**

- vestavěný nginx DSM drží porty 80 a 443, kontejner s Nginx Proxy Managerem pak nenastartuje
- porty se nepřepisují v nginx.conf, ale v šablonách .mustache, ze kterých si DSM konfiguraci skládá
- DSM se přestěhuje na 10080 a 10443, rozhraní DSM na 5000 a 5001 zůstává

Na Synology mi v Dockeru běží Nginx Proxy Manager (NPM) a ten chce mít porty 80 a 443 pro sebe. Na nich ale už sedí vestavěný nginx DSM, a tak kontejner při startu skončí s hláškou `address already in use`.

## Co budete potřebovat

- Synology s DSM (já mám DS918+ s DSM 7.1)
- zapnuté SSH (Ovládací panely → Terminál a SNMP → Povolit službu SSH)
- účet ze skupiny administrators, aby fungovalo `sudo`
- volné porty, na které DSM přesunete – já volím 10080 a 10443

## Proč nestačí upravit nginx.conf

První nápad je otevřít `/etc/nginx/nginx.conf` a přepsat porty tam. Funguje to přesně do chvíle, než DSM konfiguraci vygeneruje znovu – při restartu, při změně čehokoli v Ovládacích panelech nebo při aktualizaci. Zdrojem pravdy jsou šablony v adresáři `/usr/syno/share/nginx/`, ze kterých se `nginx.conf` skládá. Upravovat se proto musí ty.

## 1. Podívejte se, co v šablonách je

Přihlaste se na NAS přes SSH a vypište si všechny řádky s `listen`, které používají port 80 nebo 443. Spouští se v terminálu na NASu:

```bash
sudo grep -nE 'listen[[:space:]]+(\[::\]:)?(80|443)[^0-9]' /usr/syno/share/nginx/*.mustache
```

Uvidíte, ve kterých souborech a na kterých řádcích se porty nastavují. Typicky jde o dvojice `listen 80` a `listen [::]:80` (IPv4 a IPv6) a totéž pro 443. Tenhle výpis se hodí mít před očima, ať víte, co se bude měnit.

## 2. Zálohujte šablony

Než začnete cokoli přepisovat, udělejte si kopii celého adresáře. Je to jeden příkaz a ušetří vám to nervy, kdyby se něco pokazilo 😈

```bash
sudo cp -a /usr/syno/share/nginx /root/nginx-mustache-backup
```

## 3. Přepište porty na 10080 a 10443

Následující dva příkazy změní port jen v direktivách `listen`, a to pro IPv4 i IPv6. Jinde v šablonách číslo 80 nebo 443 zůstane, jak je.

```bash
sudo sed -i -E 's/^([[:space:]]*listen[[:space:]]+(\[::\]:)?)80([^0-9])/\110080\3/' /usr/syno/share/nginx/*.mustache
```

```bash
sudo sed -i -E 's/^([[:space:]]*listen[[:space:]]+(\[::\]:)?)443([^0-9])/\110443\3/' /usr/syno/share/nginx/*.mustache
```

Zápis `\110080` vypadá podezřele, ale je v pořádku. Sed bere jako zpětný odkaz jen jednu číslici, takže je to `\1` (zachycené `listen` s mezerami) a za ním `10080`.

Kontrola – zopakujte grep z kroku 1. Tentokrát by neměl vypsat nic:

```bash
sudo grep -nE 'listen[[:space:]]+(\[::\]:)?(80|443)[^0-9]' /usr/syno/share/nginx/*.mustache
```

Pokud něco vypíše, je na tom řádku `listen` uprostřed (třeba za značkou šablony) a sed ho nechytil. Takový řádek opravte ručně, například `sudo vi` nad daným souborem.

## 4. Restartujte nginx

Na DSM 7 se služby ovládají přes `synosystemctl`:

```bash
sudo synosystemctl restart nginx
```

DSM při restartu znovu vygeneruje `nginx.conf` už z upravených šablon.

## 5. Ověřte, že jsou porty volné

```bash
sudo netstat -tlnp | grep -E ':(80|443|10080|10443) '
```

Výstup by měl ukazovat nginx na portech 10080 a 10443 a na 80 a 443 nic. Teď můžete spustit (nebo restartovat) kontejner s Nginx Proxy Managerem, který si porty 80 a 443 namapuje na sebe.

Pokud je 443 pořád obsazený, mrkněte do Ovládacích panelů → Přihlašovací portál → Upřesnit → Reverzní proxy. Pravidla reverzní proxy z DSM umí port 443 držet i po úpravě šablon, takže je smažte, nebo je převeďte do NPM. Pomohl také restart celého NASu.

## Na co si dát pozor

- **Web Station a další služby na 80/443.** Všechno, co DSM servíroval na standardních portech (Web Station, přesměrování na DSM), se přestěhuje na 10080 a 10443. Samotné rozhraní DSM na 5000 a 5001 to neovlivní.
- **Aktualizace DSM.** Aktualizace může šablony vrátit do původní podoby a porty 80 a 443 si DSM vezme zpátky. Po každé aktualizaci proto spusťte grep z kroku 1 a případně zopakujte kroky 3 a 4.
- **Jiné verze DSM.** Na DSM 7.1 to funguje. Lidé na fórech hlásí u novějších verzí (7.2 a 7.3) smíšené výsledky – někomu to jde stejně, jinde DSM port 443 drží dál. Pokud máte novější DSM a porty se neuvolní, zkuste nejdřív smazat pravidla reverzní proxy v DSM a restartovat NAS.

**Návrat zpět.** Stačí vrátit zálohu a restartovat nginx:

```bash
sudo cp -a /root/nginx-mustache-backup/. /usr/syno/share/nginx/
```

```bash
sudo synosystemctl restart nginx
```

## Co teď funguje

NPM má porty 80 a 443 pro sebe, vyřizuje certifikáty od Let’s Encrypt a DSM i Web Station žijí na 10080 a 10443.
