Pomalá reverzní proxy s Nginx

mmcc

Pomalá reverzní proxy s Nginx
« kdy: 31. 05. 2023, 22:40:01 »
Zdravim,
na VPS od Forpsi mam pre grafanu reverse proxy NGINX (bezi v docker kontajneri). Nacitanie dashboardov z grafany cez to proxy je velmi pomale cca 30s.
Ak grafanu otvorim priamo z domaceho servera na ktorom bezi grafana (mimo proxy, verejna IP), cely dashboard aj s grafmi je nacitany takmer ihned.

Nedari sa mi prist na pricinu preco cez proxy nacitanie grafany ide pomaly. Ci VPS je tak pomale 1G RAM vyuzite cca 230MB, CPU obcas vyskoci na 10-20%. Alebo mam nieco zle nastavene.
Nevyznam sa v detailoch, ucim sa na tom... Vopred dakujem z nakopnutia.

Prikladam konfiguraciu...
NGINX:
Kód: [Vybrat]
map $http_upgrade $connection_upgrade {
  default upgrade;
  '' close;
}


server {
    listen       80;
    listen [::]:80;
    server_name  www.domena.com;
    server_tokens off;

    location / {
        return 301 https://www.domena.com/$request_uri;
    }
}

server {
    listen 443 default_server ssl http2;
    listen [::]:443 ssl http2;

    server_name  www.domena.com;

    ssl_certificate /etc/nginx/ssl/live/www.domena.com/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/live/www.domena.com/privkey.pem;

    location / {
        root /var/www/;
    index  index.html index.htm;
    }

    location /grafana/ {
    # Přesměrování této URL na localhost
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header Host $http_host;
        proxy_pass   https://123.123.123.123:12300;
    }
   
      # Proxy Grafana Live WebSocket connections.
    location /grafana/api/live/ {
        rewrite  ^/grafana/(.*)  /$1 break;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header Host $http_host;
        proxy_pass   https://123.123.123.123:12300;
     }
}

docker-compose:
Kód: [Vybrat]
services:
  nginx:
    image: nginx:latest
    container_name: nginx
    restart: always
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./etc-nginx/:/etc/nginx/
      - ./ssl:/etc/letsencrypt/live/www.domena.com:ro
      - ./www:/var/www/:ro
« Poslední změna: 01. 06. 2023, 08:07:54 od Petr Krčmář »


Re:Pomalá reverzní proxy s Nginx
« Odpověď #1 kdy: 01. 06. 2023, 10:01:35 »
Podival bych se na odezvu dns a pripadne, zda je sit mezi forpsi/domaci server dostatecne rychla. Nemluve o pripadnych domacich krabickach v ceste, ktere se pri zkouseni primo ze serveru obejde.

Re:Pomalá reverzní proxy s Nginx
« Odpověď #2 kdy: 01. 06. 2023, 12:11:03 »
spojení  backendem je pomalé... - starým protokolem

mě pomohlo  server{}:

proxy_http_version 1.1;
proxy_set_header   "Connection" "";


případně něco co ovlivňuje probublávání redirectu


A nebo něcouplně mimo - je to VPS s veřejkou. Nebo máš tam nějaký tunel? Není tunel pomalý (třeba ssh - problém TCP-in-TCP). Tedy jestli buď upstream server nevede pomalym tunelem a nebo na nginx se nepřipojuješ pomalym tunelem
« Poslední změna: 01. 06. 2023, 12:15:33 od Ħαℓ₸℮ℵ ␏⫢ ⦚ »

Re:Pomalá reverzní proxy s Nginx
« Odpověď #3 kdy: 01. 06. 2023, 12:19:57 »
Geniální! minutu po odeslání jsem chtěl připsat doplnění a po odeslání se mi ukázalo Litujeme, Přístup odepřen  >:( a v tomto browseru se nepopulují formuláře rozepsaným textem

Connection "" ;

To by mělo znamenat "smaž tuto hlavičku, neposílej na upstream).
Ale pozor (*)add_header a (*)set_header se chovají zásadně rozdílně, právě co se týče vícenásobného uvedení , vícenásobných hodnot a defaultních hodnotu,


obojí ( přepisy vs  smazání  vs přidávání hlaviček a optimalizace pomalosti Connection:close)  jde to najít v tutoriálech pro nginx něco jako top 10 mistakes in configuring reverse proxy nginx