Puncte:0

Proxy-ul invers Nginx poate găsi doar un site din 3

drapel lr

Actualizați comportamentul de a putea încărca doar un site la un moment dat pare să fie legat de browser-ul clientului - Dacă deschid toate cele 3 site-uri într-o fereastră de browser (o filă fiecare), atunci obținem comportamentul descris mai jos. Dacă folosesc 3 browsere separate (am folosit Edge, Opera și Chrome), atunci toate cele 3 site-uri se încarcă conform așteptărilor. /Actualizați

Am o configurație de proxy invers Nginx pentru a transmite trafic extern către unul dintre cele 3 servere interne (server Windows 2019 care rulează IIS 10) pe baza adresei URL (aceasta este pentru un mediu de testare). Serverul nginx și serverele web sunt toate în același vlan.

Acest lucru a funcționat conform intenției până în această dimineață, când în urma unei reporniri a serverelor web, nginx poate încărca acum doar unul dintre cele 3 site-uri la un moment dat.

Daca incerc sa deschid toate cele 3 site-uri, primul se incarca normal, celelalte 2 dau instant 404 erori. Dacă aștept câteva minute și reîmprospătesc unul dintre 404, se va încărca, dar primul site care a fost ok va merge acum la 404, același lucru se întâmplă dacă al treilea site este încărcat.

Configurația Nginx nu a fost modificată și încărca toate cele 3 site-uri în același timp înainte de repornire în această dimineață.

Am testat conf nginx cu nginx -t care a revenit ok Am reîncărcat conf. nginx cu sudo systemctl reload nginx - nicio modificare a comportamentului Am repornit serverul nginx - nicio schimbare în comportament

Navigarea direct pe serverele web toate cele 3 site-uri funcționează normal.

Pot telnet pe portul 443 de la nginx la toate cele 3 servere web și invers.

Vreo sugestii cu privire la motivul pentru care comportamentul s-ar fi schimbat?

Configurația nginx este ca mai jos (am înlocuit URL-urile reale, dar conf. este nemodificată):

utilizator www-date;
worker_proceses auto;
pid /run/nginx.pid;
includ /etc/nginx/modules-enabled/*.conf;

evenimente {
        conexiuni_muncitor 1024;
        # multi_accept on;
}
#adăugat de Ian pentru a permite streaming
curent {
# Pentru a adăuga site-uri web și servere suplimentare:
# Adăugați numele de gazdă și eticheta de backend pe hartă, apoi adăugați blocurile din amonte, ca în exemplul comentat de mai jos.
# ***Odată ce ați actualizat configurația, TREBUIE să reîncărcați nginx cu următoarea comandă: sudo systemctl reload nginx
    harta $ssl_preread_server_name $nume {
   url.1.com GunServer;
   url.2.com CatServer;
   url.3.com BlueServer;
  # <numele de gazdă al site-ului web merge aici> <eticheta de text pentru serverul backend merge aici>;
  # exemplu: mywebsite.com myserver;
}

# Apoi creați un nou bloc în amonte folosind etichetele setate mai sus, așa cum se arată mai jos
# în amonte myserver {
        # server <IP:port>;
#}

GunServer în amonte {
        server 10.25.2.12:443;
}

CatServer în amonte {
        server 10.25.2.13:443;
}

în amonte BlueServer {
        server 10.25.2.11:443;
}

Server {
    asculta 443;
    proxy_pass $nume;
    ssl_preread on;
}
}

# toate setările de sub această linie au fost din exemplul nginx conf
drapel in
Dacă primiți erori 404, nginx poate ajunge la serverele backend. Verificați serverele backend în loc de nginx. Începeți cu jurnalele serverului.
Ian Straton avatar
drapel lr
Chestia este că poate ajunge la toate cele trei servere, doar că nu toate în același timp. Indiferent de adresă URL pe care o încărcați prima, se încarcă bine, iar celelalte 2 dau 404 instantaneu. În același timp, navigând direct pe cele 3 servere, toate cele 3 site-uri funcționează normal, toate trei se pot conecta cu serverul nginx pe portul 443
drapel in
Când a fost actualizat ultima dată nginx? Ce versiune este acum, ce versiune a fost înainte? (Versiunea întregului pachet) verificați fișierele jurnal ale managerului de pachete.
Michael Hampton avatar
drapel cz
Serverele dvs. de backend folosesc HTTP/2?
Ian Straton avatar
drapel lr
Versiunea Nginx este 1.18.0, nu au existat actualizări de la instalarea inițială (aceasta a fost o nouă instalare pentru acest mediu de testare). Site-urile rulează HTTP 2

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.