Nodaļa 5 · 5.3
Lietotne aiz reversā starpniekservera
Daudzām lietotnēm ir savs neliels tīmekļa serveris kādā portā, piemēram, 3001 vai 5678. Šo portu Jūs neatverat internetam. Jūsu tīmekļa serveris saņem trafiku portā 443 ar https un nodod to tālāk lietotnei: tas ir reversais starpniekserveris (reverse proxy).
Ar Caddy
Ja lietotne darbojas pašā serverī un klausās portā 3001:
status.example.com {
reverse_proxy 127.0.0.1:3001
}
Caddy pareizās galvenes (piemēram, X-Forwarded-For un X-Forwarded-Proto) un websockets nodod tālāk automātiski. Ja lietotne darbojas Docker blakus Caddy, izmantojiet konteinera nosaukumu, kā aprakstīts rakstā Jūsu darba mape ar compose.yaml, .env un Caddy.
Ar 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";
}
}
Pēc tam izpildiet sudo nginx -t, sudo systemctl reload nginx un sudo certbot --nginx -d status.example.com.
Noderīgi zināt
- Ļaujiet lietotnei klausīties tikai adresē
127.0.0.1, nevis visās adresēs. Tad neviens nevarēs apiet Jūsu starpniekserveri. - Daudzām lietotnēm jāzina, kurā adresē tās ir pieejamas, piemēram, ar iestatījumu
DOMAINvaiN8N_HOST. Norādiet tur https adresi. - Pārvaldības ekrānu, kas nav paredzēts visiem, aizsargājiet papildus: ar paroli pašā lietotnē, ar divpakāpju verifikāciju vai padariet to pieejamu tikai caur SSH tuneli (skatiet SSH konfigurācija: pieteikšanās ar īsu nosaukumu).
- Papildu drošības galvenes, piemēram, HSTS, Jūs iestatāt ar
headerCaddy vaiadd_headernginx. Ieslēdziet HSTS tikai tad, kad https visur darbojas pareizi.
