Nginx proxy podle domény s HTTPS

opiiio

Nginx proxy podle domény s HTTPS
« kdy: 11. 11. 2018, 17:18:50 »
Prosim o radu, mame nekolik hostingovych webserveru (debian/nginx). Weby bezi na 80/443, na kazdem je automat pro prodluzovani ssl letsencrypt. Uvazujeme o vytvoreni proxy, abychom mohli vsechny dns domen nasmerovat na tuto proxy a tam operativne rozhodovat kde web bezi.

Trochu jsem nacetl nginx proxy_pass
- lze rozhodovat podle domeny
- lze predhodit adresar se vsemi certifikaty

V tom pripade by sel vsechen provoz a komunikace pres tuto proxy (upload 100MB souboru apod.) Jak narocne je to na server? Vse mame na wedos vps/ssd, tedy byla by to dalsi vps u nich. Staci aby certifikaty byly pouze na proxy a bude se forwardovat poxy:443 -> server:80? S tim ze se doplni hlavicky X-Forwarded, jen kvuli ziskani skutecne ip. Diky

« Poslední změna: 11. 11. 2018, 18:57:29 od Petr Krčmář »


Re:Nginx proxy podle domény s HTTPS
« Odpověď #1 kdy: 11. 11. 2018, 18:59:19 »
Ano, přesně takhle to používám a není s tím problém. Funguje to spolehlivě, zátěž je velmi nízká, protože ten server jen přehazuje požadavky na backend a zpět.

Re:Nginx proxy podle domény s HTTPS
« Odpověď #2 kdy: 11. 11. 2018, 23:24:29 »
Hej vubec netusim jak to udelat "rucne", ale v Dockeru to pomoci https://github.com/jwilder/nginx-proxy + https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion jede uzasne a jednoduse :-)
Děkuji za možnost editace příspěvku.

Re:Nginx proxy podle domény s HTTPS
« Odpověď #3 kdy: 12. 11. 2018, 01:50:30 »
Prosim o radu, mame nekolik hostingovych webserveru (debian/nginx). Weby bezi na 80/443, na kazdem je automat pro prodluzovani ssl letsencrypt. Uvazujeme o vytvoreni proxy, abychom mohli vsechny dns domen nasmerovat na tuto proxy a tam operativne rozhodovat kde web bezi.

Trochu jsem nacetl nginx proxy_pass
- lze rozhodovat podle domeny
- lze predhodit adresar se vsemi certifikaty

V tom pripade by sel vsechen provoz a komunikace pres tuto proxy (upload 100MB souboru apod.) Jak narocne je to na server? Vse mame na wedos vps/ssd, tedy byla by to dalsi vps u nich. Staci aby certifikaty byly pouze na proxy a bude se forwardovat poxy:443 -> server:80? S tim ze se doplni hlavicky X-Forwarded, jen kvuli ziskani skutecne ip. Diky

Taky myslím, že to je bez problému. Pár postřehů:

  • možná budete chtít v nginx nastavit timeouty: proxy_connect_timeout, proxy_send_timeout, proxy_read_timeout a send_timeout
  • nginx může na straně proxy případně zajistit i gzip kompresi (pozor na dvojitou kompresi)
  • různý software využívá různé hlavičky ze skupiny X-Forwarded-*, dospěl jsem k tomuto:
Kód: [Vybrat]
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;

Re:Nginx proxy podle domény s HTTPS
« Odpověď #4 kdy: 12. 11. 2018, 06:46:25 »
Ano, přesně takhle to používám a není s tím problém. Funguje to spolehlivě, zátěž je velmi nízká, protože ten server jen přehazuje požadavky na backend a zpět.
Áno, môžem potrvrdiť minimálnu záťaž na hardware. U mňa beží nginx_proxy v lxc kontaineri na Turris Omnia, letsencrypt certifikáty sú na ňom, keďže má 2GB RAM tak v tmpfs mám aj proxy_cache. Všetko ide dlhodobo a spoľahlivosť je výborná.


samalama

Re:Nginx proxy podle domény s HTTPS
« Odpověď #5 kdy: 12. 11. 2018, 13:33:11 »
Ano, přesně takhle to používám a není s tím problém. Funguje to spolehlivě, zátěž je velmi nízká, protože ten server jen přehazuje požadavky na backend a zpět.
Áno, môžem potrvrdiť minimálnu záťaž na hardware. U mňa beží nginx_proxy v lxc kontaineri na Turris Omnia, letsencrypt certifikáty sú na ňom, keďže má 2GB RAM tak v tmpfs mám aj proxy_cache. Všetko ide dlhodobo a spoľahlivosť je výborná.

a teda kolko tam mas unikatnych pristupov/den...?

Re:Nginx proxy podle domény s HTTPS
« Odpověď #6 kdy: 12. 11. 2018, 14:21:09 »
Ano, přesně takhle to používám a není s tím problém. Funguje to spolehlivě, zátěž je velmi nízká, protože ten server jen přehazuje požadavky na backend a zpět.
Áno, môžem potrvrdiť minimálnu záťaž na hardware. U mňa beží nginx_proxy v lxc kontaineri na Turris Omnia, letsencrypt certifikáty sú na ňom, keďže má 2GB RAM tak v tmpfs mám aj proxy_cache. Všetko ide dlhodobo a spoľahlivosť je výborná.
a teda kolko tam mas unikatnych pristupov/den...?

Provozuji na trochu jiném HW (Intel® Xeon® E3-1200 v2, 8GB RAM, 2 SSD v RAID1, 2x GB Intel failover) - ale to jenom kvůli dostupnosti. Při 100k unikátů / den se to relativně fláká. Spíš je důležité, kolik přes to má protéct dat.

Re:Nginx proxy podle domény s HTTPS
« Odpověď #7 kdy: 12. 11. 2018, 18:30:08 »
Ano, přesně takhle to používám a není s tím problém. Funguje to spolehlivě, zátěž je velmi nízká, protože ten server jen přehazuje požadavky na backend a zpět.
Áno, môžem potrvrdiť minimálnu záťaž na hardware. U mňa beží nginx_proxy v lxc kontaineri na Turris Omnia, letsencrypt certifikáty sú na ňom, keďže má 2GB RAM tak v tmpfs mám aj proxy_cache. Všetko ide dlhodobo a spoľahlivosť je výborná.

a teda kolko tam mas unikatnych pristupov/den...?
Na môj domáci server pristupuje pravidelne cca 20 ľudí, ktorí sú tam cez roundcube prakticky celý deň, okrem nich si celé rozvetvené príbuzenstvo naň ukladá fotky na nextcloud a pripája sa naň asi 12 synchronizačných klientov.
Presné štatistiky nepotrebujem, takže ich neviem, ale vidím, že zatiaľ čo sa server varí, lxc kontainer sa fláka. Toto je trafic od reštartu kontainera, ten ma zaujíma viac (otočil som ho po upgrade nginx na 1.14.1):
Kód: [Vybrat]
Name:           Nginx
State:          RUNNING
PID:            5063
IP:             192.168.1.98
IP:             fd7f:a1c3:52ab::c0a1:8aff:fef4:1d5d
CPU use:        2996.85 seconds
Memory use:     74.26 MiB
Link:           vethB89OCL
 TX bytes:      8.61 GiB
 RX bytes:      58.33 GiB
 Total bytes:   66.95 GiB


opiiio

Re:Nginx proxy podle domény s HTTPS
« Odpověď #8 kdy: 12. 11. 2018, 22:20:49 »
Diky moc vsem za tipy! pomohlo a usetrilo cas, vyzkousim
Weby s vetsimi prenosy budu na proxy napojovat postupne a sledovat..

PetrK

Re:Nginx proxy podle domény s HTTPS
« Odpověď #9 kdy: 14. 11. 2018, 05:10:13 »
Kdyz uz delate nejakou zmenu doporucuju se podivat na HAProxy, v zakladu je to pro vas pripad stejne reseni jako nginx se stejnym objemem prace ho nakonfigurovat.

Ale pokud se chcete o vasi infrastrukturu starat a do budoucna ji optimalizovat/rozsirovat, muzete z HAProxy vytezit mnohem vice (zvlast pokud vam na backendech bezi nginx).