Puncte:-4

Fiecare aplicație are nevoie de server web?

drapel bj

Serverul este doar o mașină cu software server web (cum ar fi nginx, apache etc). Când găzduim un site web în servicii de găzduire precum GoDaddy sau servicii cloud, furnizează software pentru server web pentru fiecare aplicație care este implementată sau va exista un singur software pentru server web pentru o mașină (server) și fiecare aplicație îl folosește sau noi (clientul) ) trebuie să configurați software-ul serverului web?

Un server poate avea un număr „n” de software pentru server web?

În înregistrarea DNS, înregistrarea fiecărui domeniu de aplicație indică adresa IP a serverului sau adresa IP a serverului web?

Dacă toate domeniile aplicației dintr-un server indică aceeași adresă IP, atunci cum sunt direcționate cererile către o anumită aplicație?

Dacă există ceva greșit în întrebare, vă rugăm să subliniați, deoarece sunt nou în aceste subiecte.

djdomi avatar
drapel za
Solicitările de recomandări de produse, servicii sau materiale de învățare sunt în afara subiectului, deoarece atrag răspunsuri de calitate scăzută, cu opinii și spam, iar răspunsurile devin depășite rapid. În schimb, descrieți problema de afaceri la care lucrați, cercetarea pe care ați făcut-o și pașii făcuți până acum pentru a o rezolva.
Puncte:3
drapel my

Serverul este doar o mașină cu software server web (cum ar fi nginx, apache etc).

Nu neaparat. Un server este un sistem informatic cu care este obișnuit servi alte sisteme (clienți) cu conținut, date pe care le prelucrează (sau pur și simplu le primește din alte surse) și le returnează clienților.

Poate fi un server Web, dacă servește conținut prin protocolul HTTP, sau un server de baze de date, dacă stochează date și permite manipularea datelor într-un mod relațional (SQL) sau non-relațional, sau un server DNS, dacă servește informații despre numele de gazdă și adresele IP prin protocolul DNS și așa mai departe.

Când găzduim un site web în servicii de găzduire precum GoDaddy sau servicii cloud, furnizează software pentru server web pentru fiecare aplicație care este implementată sau va exista un singur software pentru server web pentru o mașină (server) și fiecare aplicație îl folosește sau noi (clientul) ) trebuie să configurați software-ul serverului web?

Depinde. Unele furnizează mașini virtuale (sau similare) cu servere web preinstalate precum Apache și „numai” trebuie să le configurați corect pentru aplicația dumneavoastră. Alții (AWS EC2) furnizează pur și simplu mașini virtuale simple și trebuie să instalați și să configurați orice serviciu sau pachet (inclusiv un server Web) de care aveți nevoie.

Un server poate avea un număr „n” de software pentru server web?

Da. Același server poate găzdui diferite instrumente de server web (de exemplu, Apache și Nginx, pentru aplicații diferite), sau chiar instanțe diferite ale aceleiași tehnologii de server Web (de exemplu, prin containere) sau un singur instrument de server Web care gestionează mai multe aplicații (eventual folosind gazde virtuale).

În înregistrarea DNS, înregistrarea fiecărui domeniu de aplicație indică adresa IP a serverului sau adresa IP a serverului web?

Ar trebui să indice orice adresă IP care este rutabilă și accesibilă din exterior și este cumva „legată” de serverul Web. O configurare simplă poate fi o mașină virtuală cu o singură adresă IP și serverul web care ascultă acea adresă IP. Dar serverul web poate, de asemenea, să asculte intern pe o altă adresă, cum ar fi 127.0.0.1, și să folosească o tehnică (cum ar fi NAT) pentru a primi solicitări HTTP cu adresa IP a VM ca adresă de destinație. Și așa mai departe.

Dacă toate domeniile aplicației dintr-un server indică aceeași adresă IP, atunci cum sunt direcționate cererile către o anumită aplicație?

Acest lucru se poate face în mai multe moduri. În primul rând, puteți avea procese diferite care ascultă pe aceeași adresă IP, dar pe porturi diferite. Atâta timp cât portul este diferit, nu există conflict - http://www.example.com:80 va ajunge la un alt server web (sau instanță de server web) decât http://www.example.com:8080. Folosind porturi diferite și legând fiecare port la un proces sau o „instanță” a procesului (de exemplu, gazdă virtuală), fiecare solicitare este redirecționată către aplicația potrivită.

EDITAȚI | ×

Încercarea de a răspunde la întrebările suplimentare din comentarii.

ce se întâmplă dacă mai multe aplicații sunt implementate pe un server partajat în loc de VM-uri? Deoarece toată lumea vrea portul ca 443 (unul implicit) dacă aplicația folosește HTTPS, cum sunt direcționate cererile? și care ar fi adresa IP a înregistrării DNS a domeniului către care va indica?

Dacă mai multe aplicații ascultă pe același port și același IP, pot fi efectuate alte tipuri de manipulare a traficului. De exemplu, să presupunem că același IP este legat de trei aplicații:

app1.example.com - portul 443

app2.example.com - portul 443

app3.example.com - portul 443

Cum este redirecționată o solicitare HTTP către aceeași adresă IP și port către aplicația potrivită? O modalitate este de a folosi Antet gazdă. Dacă un browser dorește să contacteze app1.example.com, va trimite o solicitare HTTP către același IP și același port cu antetul gazdă setat la „app1.example.com”.Un proxy invers va prelua acea cerere, va citi valoarea antetului gazdă și va redirecționa acea solicitare către procesul asociat cu „app1.example.com”, chiar dacă acel proces ascultă pe același IP și același port ca și celelalte servere web.

O altă abordare diferită se bazează pe utilizarea unei mașini (VM, baremetal - nu contează) cu mai multe adrese IP. Dacă aceeași mașină are mai multe adrese IP, poate găzdui aplicații diferite pe același port, dar adrese diferite, fără a utiliza niciun truc de antet HTTP.

drapel bj
Hei @A.Darwin, ce se întâmplă dacă mai multe aplicații sunt implementate pe un server partajat în loc de VM-uri? Deoarece toată lumea vrea portul ca 443 (unul implicit) dacă aplicația folosește HTTPS, cum sunt direcționate cererile? și care ar fi adresa IP a înregistrării DNS a domeniului către care va indica?
drapel bj
De asemenea, cum va fi asociat serverul web fiecărei aplicații în acest caz?
drapel bj
Va fi foarte util dacă oferiți răspunsul pentru serverele partajate (cum ar fi multe aplicații implementate într-un singur server în loc de VM-uri), de asemenea
drapel jm
@vinter În timp ce un anumit server poate rula mai multe servicii web (apache, nginx etc.) în același timp, doar o anumită instanță poate fi ascultată pe portul 443. Mai multe aplicații vor necesita fie ascultarea pe porturi diferite, fie cu nume de gazdă diferite/ CNAMES definite (de exemplu, vhost-uri apache) sau în cazul VM-urilor sau containerelor.

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.