Peatükk 5 · 5.3
Rakendus pöördpuhverserveri taga
Paljudel rakendustel on oma väike veebiserver mõnel pordil, näiteks 3001 või 5678. Seda porti internetile ei avata. Sinu veebiserver võtab liikluse vastu pordil 443 üle https-i ja edastab selle rakendusele: see on pöördpuhverserver (reverse proxy).
Caddyga
Kui rakendus kuulab serveris endas pordil 3001:
status.example.com {
reverse_proxy 127.0.0.1:3001
}
Caddy edastab õiged päised (näiteks X-Forwarded-For ja X-Forwarded-Proto) ja veebisoklid ise. Kui rakendus töötab Dockeris Caddy kõrval, kasuta konteineri nime, nagu artiklis Sinu töökaust failidega compose.yaml, .env ja Caddy.
nginxiga
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";
}
}
Seejärel sudo nginx -t, sudo systemctl reload nginx ja sudo certbot --nginx -d status.example.com.
Hea teada
- Lase rakendusel kuulata ainult aadressil
127.0.0.1, mitte kõigil aadressidel. Siis ei saa keegi sinu puhverserverist mööda minna. - Paljud rakendused tahavad teada, millisel aadressil need kättesaadavad on, näiteks seadistusega
DOMAINvõiN8N_HOST. Sisesta sinna https-aadress. - Haldusliidese, mis pole kõigile mõeldud, kaitse lisaks: parooliga rakenduses endas, kaheastmelise kinnitamisega või ainult SSH-tunneli kaudu (vt SSH-konfiguratsioon: logi sisse lühikese nimega).
- Täiendavad turvapäised, näiteks HSTS, lisad Caddys käsuga
headervõi nginxis käsugaadd_header. Lülita HSTS sisse alles siis, kui https töötab kõikjal korralikult.
