Momentan sunteți offline, așteptați să vă reconectați la internet

FIX: Cereri POST pe un server web care execută fruntea ameninţare Management Gateway 2010 poate eşua

IMPORTANT: Acest articol a fost tradus de software-ul de traducere automată Microsoft, nu de un traducător. Deoarece Microsoft vă oferă atât articole traduse de persoane, cât şi articole traduse automat, toate articolele din Baza noastră de cunoştinţe vor fi disponibile în limba dvs. nativă. Totuşi, un articol tradus automat nu este întotdeauna perfect. Acesta poate conţine greşeli de vocabular, sintaxă sau gramatică, precum în cazul în care un vorbitor străin poate face greşeli vorbind limba dvs. nativă. Compania Microsoft nu este responsabilă pentru nicio inexactitate, eroare sau daună cauzată de traducerea necorespunzătoare a conţinutului sau de utilizarea traducerii necorespunzătoare de către clienţii săi. De asemenea, Microsoft actualizează frecvent software-ul de traducere automată.

2596444
SIMPTOME
Luaţi în considerare următorul scenariu:
  • Aveţi un server care execută Microsoft Forefront ameninţare Management Gateway (TMG) 2010.
  • Serverul TMG este configurat ca un server web.
  • Ascultător TMG web utilizează autentificarea bazată pe formulare împreună cu delegaţia NTLM la serverul de web publicate.
  • Există cereri de POST la serverul de web TMG.
În acest scenariu, solicitările POST poate eşua. Acest lucru poate cauza probleme de aplicare diferite care depind de tipul de cereri de POST care nu reuşesc.
CAUZĂ
Această problemă apare dacă următoarele condiţii sunt adevărate:
  • Autentificarea bazată pe formulare TMG este utilizat.
  • Delegaţia NTLM este configurat în regula publicare TMG să delege autentificare la serverul de web publicate.
  • ISA trimite o solicitare la server de web pe o conexiune deja autentificat.
  • Web serverul răspunde cu un 401.
Atunci când se utilizează NTLM delegaţia, TMG autentifică o conexiune la serverul de web pe prima solicitare la server de web pe acea conexiune. Autentificare este apoi a persistat pe conexiunea astfel încât cererile ulterioare nu trebuie să aibă reautentificare.

Dacă o cerere este trimis către serverul web pe o conexiune deja autentificat, serverul de web poate să răspundă cu o solicitare de autentificare 401 neaşteptate. Această problemă poate apărea atunci când cererile sunt deservite de altă aplicaţie bazine pe serverul web, deoarece IIS nu persistă autentificare întreaga cerere piscine.

Atunci când se utilizează autentificarea bazată pe formulare, TMG va gestiona cererea 401 neaşteptate redirecţionarea utilizatorul înapoi la resursa solicitată inițial și prin adăugarea unei etichete de AuthResend la URL-ul. Când clientul face cererea doua, TMG stabileşte că cererea are nevoie de reautentificare eticheta AuthResend şi apoi elimină tagul AuthResend înainte de solicitarea este trimisă la serverul de web.

Cu toate acestea, o redirecţionare nu includ o metodă HTTP, iar clientul va face o cerere de GET după o redirecţionare. Prin urmare, cererea POST şi POST organismul nu sunt trimise către serverul web.

Un instrument precum Strace, HTTPWatch sau Scripcarul poate fi folosit pe client pentru a determina dacă TMG expediazã redirectări care au tag-ul AuthResend în răspuns la cereri de POST. De exemplu, o redirecţionare pentru o cerere de http://domain/test.asp URL ar seamănă cu următorul: http://domain/test.asp&authResendNNN

Jurnalele TMG web proxy nu arată AuthResend tag-ul pentru că tag-ul este eliminat din URL-ul înainte de URL-ul este trimis către serverul web şi, prin urmare, de asemenea, nu este conectat.

Acest comportament poate fi văzut, de asemenea, pentru cererile GET. Cu toate acestea, comportamentul nu va provoca o problemă, deoarece redirecţionare va fi remisă din nou ca o cerere de GET, şi acest lucru duce aceeaşi problemă.
REZOLUŢIE
Există o setare interne care pot fi setate pentru o regulă de publicare pentru a spune TMG pentru automat reauthenticate cererile ne-GET. Acest lucru evită cererile 401 neaşteptate din serverul web.

În mod implicit, în TMG Service Pack 2 această setare este activată pe web publicarea normelor care au autentificarea bazată pe formulare pe ascultător web şi care utilizează NTLM delegaţia.

Pentru a rezolva această problemă, instalaţi acest service pack, care este descris în următorul articol din baza de cunoştinţe Microsoft:
2555840 Descriere a Service Pack 2 pentru Management Microsoft Forefront ameninţare Gateway 2010

STARE
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secţiunea „se aplică la".
INFORMAŢII SUPLIMENTARE
Pentru a rezolva această problemă pe ISA 2006 sau TMG fără Service Pack 2, utilizaţi următorul script pentru a seta parametrul internă pe o regulă de publicare specificat de web. În mod implicit, aceasta este setarea care permite TMG Service Pack 2.

Pentru a utiliza script-ul, copiaţi-l în Notepad şi apoi salvaţi-l ca fişier .vbs pe unul dintre membrii matrice.

Editaţi următoarea linie în script-ul, înlocuind ReplaceRuleNameHere cu numele regulii publicare web relevante:
argRuleName = "ReplaceRuleNameHere"
Apoi executaţi următorul script pe unul dintre membrii matrice într-o matrice:
argRuleName = "ReplaceRuleNameHere"argParamName = "SendLogonOn401"argVal = "true"Set rule = CreateObject("FPC.Root").GetContainingArray.ArrayPolicy.PolicyRules.Item(argRuleName)Set VendorSets = rule.VendorParametersSetsOn Error Resume NextSet VendorSet = VendorSets.Item( "{5e302ed5-f5d5-4fad-9b8a-01c72e1569f3}" )If Err.Number <> 0 ThenErr.ClearSet VendorSet = VendorSets.Add( "{5e302ed5-f5d5-4fad-9b8a-01c72e1569f3}" )CheckErrorWScript.Echo "No existing VendorSet."ElseWScript.Echo "Existing VendorSet found. Values in it:"for each name in VendorSet.allNamesWScript.Echo " ", name, "=", VendorSet.Value(name)nextWScript.Echo "-------------------------------------"End IfOn Error GoTo 0On Error Resume NextvalType = "Int" : Val = CInt(argVal)If Err.Number <> 0 ThenErr.ClearvalType = "Boolean" : Val = CBool(argVal)If Err.Number <> 0 ThenErr.ClearvalType = "String" : Val = CStr(argVal)End IfEnd IfWScript.Echo "Setting", argParamName, "=", Val, "(type=" & valType & ")"VendorSet.Value(argParamName) = ValVendorSet.SaveSub CheckError()If Err.Number <> 0 ThenWScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.DescriptionErr.ClearEnd IfEnd Sub
REFERINŢE
Pentru mai multe informaţii despre terminologia actualizare software-ul, faceţi clic pe următorul număr de articol pentru a vedea articolul în baza de cunoştinţe Microsoft:
824684 Descrierea terminologie standard care este utilizat pentru a descrie actualizările software Microsoft

ISA TMG NTLM delegaţia forme economie POST

Avertisment: Acest articol a fost tradus automat

Proprietăți

ID articol: 2596444 - Ultima examinare: 10/17/2011 19:27:00 - Revizie: 1.0

  • Microsoft Forefront Threat Management Gateway 2010 Enterprise
  • Microsoft Forefront Threat Management Gateway 2010 Standard
  • Microsoft Forefront Threat Management Gateway 2010 Service Pack 1
  • kbfix kbbug kbexpertiseinter kbsurveynew kbmt KB2596444 KbMtro
Feedback