Puncte:2

Migrați serverul web la un nou centru de date și un nou IP

drapel in

Am un server web care găzduiește peste 200 de domenii, dar trebuie mutat într-un alt centru de date și obține o nouă adresă IP. Dar, din moment ce toate setările DNS trebuie actualizate manual, m-am gândit dacă ați putea configura un fel de proxy transparent la vechea adresă IP care redirecționează tot traficul http/https către noul IP. Deci vizitatorii nu descoperă că trecerea la DNS este corectată.

Primul meu gând a fost să folosesc nginx pentru el, dar mă gândesc că va cauza probleme cu certificatele SSL de pe domenii. Există o modalitate bună de a rezolva problema?

drapel cn
Despre câte adrese IP vorbim? Unu? Și de ce nu ați folosit un CNAME pentru asta, astfel încât o simplă modificare să redirecționeze toate domeniile?
djdomi avatar
drapel za
la început reduceți ttl-ul oricărei înregistrări la minimum, după aceea așteptați 3-5 zile, verificați. faceți o sincronizare inițială a vechiului cu noul server. setați local un nume de domeniu la noul IP prin gazde, căutați orice erori. de obicei, nu va face nicio problemă pentru a avea același certificat pe 2 servere simultan. verificați, iar dacă este în regulă, puteți schimba intrarea reală, amintiți-vă să eliminați intrarea gazdelor
Guntram Blohm avatar
drapel in
Presupunând că serverul tău rulează Linux, nici măcar nu trebuie să rulezi nginx. Doar rulați ceva de genul `socat -T 900 TCP-LISTEN:443,reuseaddr,fork TCP-CONNECT:newserver:443` pe vechiul server (asigurați-vă că repornește, supraviețuiește repornirilor, ...). Asta va redirecționa conexiunea pe baza TCP și vă va scuti de durerea de cap de a configura corect nginx.
Puncte:5
drapel us

Folosesc următorul proces de migrare în aceste cazuri:

  1. Schimbați DNS TTL la valoarea minimă
  2. Așteptați actualizarea DNS TTL
  3. Copiați cheile / certificatele pe noul server
  4. Pune site-ul în modul de întreținere
  5. Sincronizați fișierele/baza de date cu noul server
  6. Configurați proxy invers de la serverul vechi la serverul nou
  7. Eliminați modul de întreținere pe noul server
  8. Schimbați intrările DNS pentru a indica un server nou

Pasul 6 asigură că utilizatorii finali nu ajung pe vechiul server, chiar dacă DNS-ul lor s-a rezolvat la vechiul IP al serverului.

După aceasta, continuați să monitorizați vechile jurnalele serverului pentru a vedea când traficul s-a oprit acolo. Apoi puteți demonta vechea configurație.

Proxy invers este configurat folosind proxy_pass directivă. Dacă adresa IP a utilizatorului final este o informație importantă, trebuie să o adăugați în anteturile HTTP de pe serverul vechi -> solicitări de server noi și să spuneți noului server să folosească valoarea antetului ca adresă IP.

The Tech Guy avatar
drapel in
A fost, de asemenea, puțin în direcția în care credeam, dar nu credeam că pot găsi o modalitate de a gestiona partea https fără a fi nevoie să instalez toate certificatele SSL pe serverul proxy, deoarece undeva nu are nevoie de date, ci doar trebuie să primească și să transmită date. Trebuie să fie atât trafic 80/HTTP, cât și 443/HTTPS.
drapel us
Este posibil să puteți utiliza modulul `stream` nginx pentru a redirecționa conexiunea TCP așa cum este către noul server. În acest caz, numai serverul nou ar avea nevoie de toate certificatele.
Puncte:2
drapel ng

Poate doriți mai întâi să decideți (sau să estimați) ce doriți să sacrificați atunci când vă mutați:

  1. Ușurința tranziției (dacă multe dintre punctele de mai jos sunt importante, tranziția va fi un proiect în loc de o sarcină, este posibil să nu aveți la dispoziție expertiza necesară)
  2. Timp de nefuncționare (este posibil să executați întreaga tranziție noaptea sau ori de câte ori activitatea utilizatorilor dvs. este minimă?)
  3. Consecvența jurnalelor de acces (poate fi destul de important și proxy-ul http sau tcp va masca adresele IP de la distanță)
  4. Consecvența datelor afișate utilizatorilor (este acceptabil ca unii dintre utilizatori să vadă date învechite?)
  5. Posibilitatea actualizărilor de conținut pentru o perioadă
  6. Siguranța datelor (în destul de multe cazuri este important să păstrați datele absolut în siguranță împotriva corupției și/sau scurgerilor, chiar dacă acest lucru înseamnă o perioadă de nefuncționare)
  7. Timpul disponibil (contractul dvs. de găzduire se epuizează)
  8. Consecvența sesiunii utilizator (aceasta este inclusă în mod oficial la punctul 4, dar merită o atenție suplimentară din cauza diferitelor posibile atenuări)

În funcție de combinația celor de mai sus, este posibil să doriți să utilizați una sau mai multe dintre acestea:

  • Proxy TCP (cum ar fi socat)
  • Proxy HTTP (nginx, squid etc...)
  • O soluție complexă de rutare/VPN pentru a permite unui singur server să răspundă la solicitări pe 2 adrese IP
  • Replicarea bazei de date
  • Migrarea mașinii virtuale

Lucrurile pe care le veți dori indiferent de strategia aleasă sunt:

  1. Scăderea DNS TTL (poți să-l măriți înapoi după ce totul este gata)
  2. O copie de rezervă - da, se întâmplă lucruri rele în timpul tranzițiilor și migrărilor.
  3. Un plan
  4. Un plan de întoarcere dacă planul de tranziție eșuează.
drapel cn
+1 pentru menționarea problemei migrării bazei de date live (sau VM). Aceasta este partea grea a migrării unui site fără a deranja utilizatorii și a risca pierderea datelor. Am experiențe bune cu MySQL și replicare circulară pentru asta. Dacă este făcut corect, nu este nevoie să grăbiți niciunul dintre pași.
drapel cn
Încă unul pentru listă: consistența sesiunii de utilizator. Dacă sesiunile sunt stocate în baza de date, acest lucru este acoperit, dar de ex. Sesiunile bazate pe fișiere/redis au nevoie de propria lor migrare sau orice utilizator activ își va găsi sesiunea oprită în momentul în care începe să vorbească cu noua gazdă.
Puncte:0
drapel in

O altă alternativă este utilizarea unei combinații de NAT, un VPN și rutarea politicii.

Configurați un VPN între serverele din locația veche și cea nouă, pe serverul din locația veche, utilizați NAT de destinație pentru a redirecționa traficul de intrare pe VPN. Pe serverul din noua locație, utilizați rutarea politicii pentru a vă asigura că răspunsurile la traficul provenit de la VPN se retrag în VPN.

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.