Al momento sei offline in attesa che la connessione Internet venga ristabilita

FIX: Potrebbero non riuscire richieste POST su un server web che esegue Forefront Threat Management Gateway 2010

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 2596444
Sintomi
Si consideri il seguente scenario:
  • Si dispone di un server che esegue Microsoft Forefront Threat Management Gateway (TMG) 2010.
  • Il server TMG è configurato come server web.
  • Il listener web TMG utilizza l'autenticazione basata su form con delega NTLM nel server web pubblicato.
  • Non vi sono richieste POST al server web TMG.
In questo scenario, le richieste POST potrebbero non riuscire. Ciò può causare vari problemi di applicazioni che dipendono dal tipo di richieste POST con esito negativo.
Cause
Questo problema si verifica in presenza delle seguenti condizioni:
  • L'autenticazione basata su form TMG è in uso.
  • Delega NTLM viene configurato nella regola di pubblicazione TMG per delegare l'autenticazione al server web pubblicato.
  • ISA invia una richiesta al server web su una connessione già autenticata.
  • Il server web risponde con un 401.
Quando viene utilizzata la delega NTLM, TMG autentica una connessione al server web alla prima richiesta al server web su tale connessione. L'autenticazione viene mantenuto per la connessione in modo che non sono necessario che le richieste successive hanno riautenticazione.

Se viene inviata una richiesta al server web su una connessione già autenticata, il server web può rispondere con una richiesta di 401 autenticazione imprevista. Questo problema può verificarsi quando le richieste vengono servite da diversi pool di applicazioni sul server web perché IIS non viene mantenuta l'autenticazione attraverso i pool di applicazioni.

Quando viene utilizzata l'autenticazione basata su form, TMG gestirà la richiesta 401 imprevisto reindirizza l'utente torna alla risorsa richiesta originariamente e aggiungendo un tag AuthResend all'URL. Quando il client effettua la seconda richiesta, TMG determina che la richiesta necessita di riautenticazione dal tag AuthResend e quindi viene rimosso il tag AuthResend prima che la richiesta viene inviata al server web.

Tuttavia, un reindirizzamento non include un metodo HTTP e il client renderà una richiesta GET dopo un reindirizzamento. Di conseguenza, la richiesta POST e il corpo POST non vengono inviati al server web.

Uno strumento come Strace, HTTPWatch o Fiddler utilizzabile sul client per determinare se TMG sta inviando i reindirizzamenti che hanno il tag AuthResend in risposta a richieste POST. Ad esempio, un reindirizzamento per una richiesta per http://domain/test.asp l'URL sarebbe simile al seguente: http://domain/test.asp&authResendNNN

I registri di proxy web TMG non vengono visualizzati il tag AuthResend perché il tag viene rimosso dall'URL prima che l'URL viene inviato al server web e di conseguenza anche non viene registrato.

Questo comportamento può verificarsi anche per le richieste GET. Tuttavia, il comportamento non provocherà un problema perché il reindirizzamento sarà nuovamente inviato come richiesta GET, e ciò non comporti lo stesso problema.
Risoluzione
È disponibile un'impostazione interna che è possibile impostare una regola di pubblicazione per indicare a TMG ripetere automaticamente l'autenticazione delle richieste GET non. Ciò evita che le richieste di 401 impreviste dal server web.

Per impostazione predefinita, in TMG Service Pack 2 questa impostazione è attivata il listener web che dispongono di autenticazione basata su form e che utilizza la delega NTLM di regole di pubblicazione web.

Per risolvere questo problema, installare il service pack è descritto nell'articolo della Microsoft Knowledge Base riportato di seguito:
2555840 Descrizione del Service Pack 2 per Microsoft Forefront Threat Management Gateway 2010

Status
Microsoft ha confermato che si tratta di un problema con i prodotti elencati nella sezione "Si applica a".
Informazioni
Per aggirare questo problema su ISA 2006 o TMG senza Service Pack 2, è possibile utilizzare lo script seguente per impostare il parametro interno in una regola di pubblicazione web specificato. Per impostazione predefinita, questa è l'impostazione che consente a TMG Service Pack 2.

Per utilizzare lo script, copiarlo nel blocco note e quindi salvarlo come file vbs su uno dei membri della matrice.

Modificare la riga seguente dello script, sostituzione ReplaceRuleNameHere con il nome della regola di pubblicazione web pertinenti:
argRuleName = "ReplaceRuleNameHere"
Quindi eseguire lo script seguente in uno dei membri della matrice in una 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
Riferimenti
Per ulteriori informazioni sulla terminologia degli aggiornamenti software, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
824684 Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

ISA TMG NTLM delega form FBA POST

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 2596444 - Ultima revisione: 10/17/2011 19:21:00 - Revisione: 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 KbMtit
Feedback