Kapitola 5 · 5.3
Aplikácia za reverse proxy
Mnohé aplikácie majú vlastný malý webový server na niektorom porte, napríklad 3001 alebo 5678. Ten neotvárajte do internetu. Váš webový server prijíma prevádzku na porte 443 cez https a odovzdáva ju aplikácii: ide o reverse proxy.
S Caddy
Ak aplikácia počúva priamo na serveri na porte 3001:
status.example.com {
reverse_proxy 127.0.0.1:3001
}
Caddy správne hlavičky (napríklad X-Forwarded-For a X-Forwarded-Proto) aj websockety odovzdáva automaticky. Ak aplikácia beží v Dockeri vedľa Caddy, použite názov kontajnera, ako v článku Váš pracovný priečinok s compose.yaml, .env a Caddy.
S nginx
server {
listen 80;
listen [::]:80;
server_name status.example.com;
location / {
proxy_pass http://127.0.0.1:3001;
proxy_http_version 1.1;
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;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Potom spustite sudo nginx -t, sudo systemctl reload nginx a sudo certbot --nginx -d status.example.com.
Dobré vedieť
- Nechajte aplikáciu počúvať iba na
127.0.0.1, nie na všetkých adresách. Potom nikto nemôže obísť vašu proxy. - Mnohé aplikácie potrebujú vedieť, na akej adrese sú dostupné, napríklad pomocou nastavenia ako
DOMAINaleboN8N_HOST. Zadajte tam adresu https. - Administračné rozhranie, ktoré nie je určené pre každého, dodatočne zabezpečte: heslom priamo v aplikácii, dvojstupňovým overením alebo prístupom iba cez SSH tunel (pozrite Konfigurácia SSH: prihlásenie pomocou krátkeho názvu).
- Ďalšie bezpečnostné hlavičky, napríklad HSTS, nastavíte pomocou
headerv Caddy aleboadd_headerv nginx. HSTS zapnite až vtedy, keď https všade správne funguje.
