Acest post a fost rezultatul unei demonstrații efectuate pentru mine Aleksandrom Stankevichem. Cu privire la posibilitatea de a organiza un Reverse Proxy server bazat pe IIS, nu am cunoscut. Setul standard IIS acest lucru nu este posibil - este necesar să se instaleze o componentă specială numită IIS Cerere Cerere de rutare.
Pe baza «URL rescriere» modulul și vă puteți construi un Reverse Proxy-server. Este important să ne amintim că «rescriere de adrese URL» este disponibil la nivelul întregului server, cât și la nivelul de site-uri individuale și aplicații sunt disponibile la aceste site-uri. Prin urmare, serverul proxy Reverse IIS based poate fi de configurare foarte flexibil.
Pentru a începe, are sens pentru a crea o fermă de server, care va fi destinatarii traficului transmis Reverse Proxy-server:
Apoi trebuie să specificați numele fermei și se adaugă nume de servere. Din interes - setări de server suplimentare puteți specifica porturile vor asculta HTTP / HTTPS-trafic, precum și greutatea de server:
Pasul final se va cere să creați o regulă care va redirecționa tot traficul de intrare la noua ferma. Este logic să fie de acord cu ea.
Bonusuri în crearea unei ferme mult. Pentru ferma, putem activa cache-ul, configurați verifica disponibilitatea noastră de web-server de echilibrare (disponibil un număr mare de condiții, care se poate efectua de echilibrare), etc. Un set complet de caracteristici disponibile mai jos ..:
După ce creați ferma puteți vedea regula nou creată. Acesta va fi la nivelul serverului IIS în «rescriere de adrese URL» și numit «ARR_FarmName_loadbalance». Regula redirecționează toate cererile care vin de pe un server IIS și adecvat sub „*“ șablon pentru noua noastră fermă, iar la sfârșitul oprește executarea altor reguli:
Să ne insista asupra regulilor. Regulile constau din patru componente:
- URL Match - filtru URL care selectează numai acele cereri de procesare regula care se potrivesc cu modelul specificat în filtru
- Condiții - condiții care definesc logica suplimentară a normelor acelor cereri care au fost de filtrare URL
- Acțiune - acțiuni care sunt efectuate cu cererile care au fost filtru de adrese URL și să îndeplinească condițiile stabilite în condiții
Cererile care trec prin intermediul nostru Reverse Proxy-server, include URL-ul serverului accesat de către client. În general, se pare ca acest lucru:
Potrivire URL-ul funcționează cu
Pentru a filtra folosind template-uri bazate pe expresii regulate sau caractere wildcard () substituții. Puteți face reguli răsturnate (care se ocupă de toate cererile care nu îndeplinesc acest șablon). Este de asemenea posibil pentru a activa / dezactiva ignore litere mari și mici din interogare.
Pentru a utiliza variabilele suplimentare sunt disponibile condiții de filtrare specificate mai sus. Puteți solicita îndeplinirea simultană a tuturor condițiilor, sau condițiile din listă (se potrivesc toate se potrivesc sau orice). De exemplu, în imaginea de mai jos, am subliniat faptul că, în filtrul primit toate interogările care conțin o adresă URL cu un nume de domeniu «cwapp.domain.com» și de acces a fost pe HTTPS:
În plus față de variabilele standard, lista pe care l-am indicat mai sus, puteți utiliza orice variabile care sunt în HTTP cerere care trece prin Reverese Proxy. Numele unei variabile se întâmplă după cum urmează:
- „-“ Toate semnele sunt înlocuite cu „_“ semne
- Toate scrisorile sunt înlocuite cu majuscule
- Front prefix atașat «HTTP_»
Un exemplu excelent al utilizării variabilelor poate servi ca o regulă, stabilită pe serverul Lync front-end, pentru clienții mobili:
Acțiunea specifică acțiunea care face obiectul HTTP-cererea satisface meci URL și condițiile. Pașii următori:
Apoi intră, redirecționa cereri către un server:
Ca rezultat, vom obține o regulă simplă, care va redirecționa cererile care vin pe site-ul nostru pentru serverul Lync front-end (sau orice alt pe care le indica).
Folosind noi cunoștințe, puteți încerca să configurați un revers dificil Proxy'rovanie interogările pe site-ul nostru IIS (și nu numai el).
Apoi, trebuie să specificați un nume pentru regula, precum și un șablon pentru cererile care intră în domeniul său de aplicare (puteți folosi de substituție „*“):
Condițiile suplimentare specificați numele gazdei (meet.domain.com) și utilizați protocolul HTTPS-interogare:
Acțiunile legii indică să redirecționeze cererea la ferma Lync Server pe HTTPS. Nu uitați să opriți punerea în aplicare a altor reguli de setare:
Astfel, soluția bazată pe serverul IIS și componente suplimentare «Cerere de aplicare Routing» poate înlocui, în unele cazuri, decizia mai grea pe baza «Microsoft amenințare Management Gateway» sau hardware de încărcare de echilibrare.
Prompt în ARR pentru a limita numărul de cereri simultane care sunt trimise la fiecare dintre serverele din fermă.
Noi, ca servere folosind web serviciu special cu numărul de conexiuni concurente = 8. Corespunzător, este necesar pentru a oferi mai multe servere ARR, toate cererile treptat.
Michael:
Prompt în ARR pentru a limita numărul de cereri simultane care sunt trimise la fiecare dintre serverele din fermă.
Noi, ca servere folosind web serviciu special cu numărul de conexiuni concurente = 8. Corespunzător, este necesar pentru a oferi mai multe servere ARR, toate cererile treptat.
statutul cererii de returnare a eșuat de 502,3.
În cazul în care limita nu este posibil, spune-mi cum să obțineți ARR repeta automat o solicitare nesoluționată la o fermă de server diferit?
O astfel de ARR nu se poate face acest lucru, și, în acest sens, nu văd - este sarcina clientului este de a repeta cererea în cazul în care acesta este respins.
Numărul de solicitări la limita de server nu poate fi la fel, dar dacă aveți o mulțime de servere în fermă, puteți configura echilibrarea încărcării în «Load Balance» de tip «cel mai puțin curent cerere», sau zamorochitsya deloc în serios cu «Sănătate test», la un anumit server este exclus de la fermă .
„Este important să ne amintim că“ Rescriefli URL-ul „este disponibil la nivelul întregului server, cât și la nivelul de site-uri individuale și aplicații sunt disponibile la aceste site-uri.“
Ie pot fi obținute de pe serverul existent către IIS, care a fost site-ul de tip a1.domain.com (site-ul implicit), prin ARR adăuga redirecționeze solicită, de asemenea la alte servere web în organizarea rețelei și care funcționează sub diferite nume de domeniu extern B1. domain.com, c1.domain.com?
Dacă am înțeles ce vrei să spui, atunci asta e corect - poți. Cu toate acestea, aș numi Proxy'rovaniem în loc de redirecționare. Redirect - este atunci când clientul se conectează direct la noul nume, precum și pentru realizarea acestui scenariu, există un modul de personal IIS'a. Pe de altă parte, chiar și în scopul transmiterii, ARR este mult mai flexibil și funcțional.