Düzeltme: Forefront Threat Management Gateway 2010 çalıştıran bir web sunucusunda post isteği başarısız olabilir

Makale çevirileri Makale çevirileri
Makale numarası: 2596444 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Belirtiler

Aşağıdaki senaryoyu düşünün:
  • Microsoft Forefront Threat Management Gateway (tmg) 2010 çalıştıran bir sunucunuz varsa.
  • tmg sunucusu, web sunucusu olarak yapılandırılır.
  • Form tabanlı kimlik doğrulaması ile birlikte yayımlanan web sunucusuna ntlm temsilci tmg web dinleyicisi kullanır.
  • tmg web sunucusunda post istekleri vardır.
Bu senaryoda, post isteği başarısız olabilir. Bu tür bir post isteği başarısız olan bağımlı çeşitli uygulama sorunları neden olabilir.

Neden

Bu sorun, aşağıdaki koşullar doğruysa oluşur:
  • tmg form tabanlı kimlik doğrulama kullanılıyor.
  • ntlm temsilci yayımlanmış web sunucusunda kimlik doğrulama için temsilci seçme tmg yayımlama kuralı olarak yapılandırılmış.
  • ISA zaten kimliği doğrulanmış bir bağlantı web sunucusuna bir istek gönderir.
  • Web sunucusu ile bir 401 yanıt verir.
tmg, ntlm temsilci kullanıldığında, web sunucusunda o bağlantıyı ilk isteğin web sunucusunda bağlantı kimliğini doğrular. Böylece sonraki istekleri yeniden kimlik doğrulaması olması gerekmez, kimlik doğrulama sonra bağlantıda kalıcıdır.

Web sunucusu, web sunucusu üzerinde yapılmış bir bağlantı istek gönderilirse, beklenmeyen 401 kimlik doğrulama isteği ile yanıt verebilir. Web sunucusunda, farklı uygulama havuzları tarafından isteklere hizmet verilen IIS uygulama havuzları arasında kimlik doğrulama kalıcı değil çünkü bu sorun oluşabilir.

Form tabanlı kimlik doğrulaması kullanıldığında, tmg beklenmeyen 401 isteği başlangıçta istenen kaynağa kullanıcı yönlendirme URL'sini bir AuthResend etiketi ekleyerek ve işler. İstemci ikinci istekte bulunduğunda, istek AuthResend etikete göre yeniden kimlik doğrulaması gerekiyor ve web sunucusu isteği gönderilmeden önce sonra AuthResend etiketi kaldırır tmg belirler.

Ancak, yeniden yönlendirme, bir http yöntemini içermez ve istemci yeniden yönlendirme get isteği yapar. Bu nedenle, post isteğini ve post gövdesi web sunucusuna gönderilmez.

İstemcide bir aracı olarak Strace, HTTPWatch veya Fiddler tmg post isteklerine yanıt AuthResend etiketine sahip yönlendirmelerin gönderme olup olmadığını belirlemek için kullanılır. Örneğin, url http://domain/test.asp isteği için yeniden yönlendirme aşağıdakine benzer: http://domain/test.asp&authResendNNN

url, web sunucusuna gönderilir ve bu nedenle de değil oturum önce etiketi URL'den kaldırıldığı için AuthResend etiket tmg web proxy günlüklerini gösterme.

Bu davranış, get isteklerini da görülebilir. Ancak, davranış sorunu, redirect get isteği olarak gönderilebilir ve aynı sorun olmaz çünkü neden olmaz.

Çözüm

Bir yayımlama kuralı-get istekleri otomatik olarak yeniden doğrulamak için tmg bildirmek için ayarlanabilen dahili bir ayar yoktur. Bu, web sunucusundan beklenmeyen 401 isteklerini engeller.

Varsayılan olarak, tmg Service Pack 2'de bu ayarı Web'de yayımlama üzerinde web dinleyicisi olan form tabanlı kimlik doğrulamasını ve ntlm temsilci kullanan kuralları etkinleştirilir.

Bu sorunu gidermek için aşağıdaki Microsoft Bilgi Bankası makalesinde açıklanan hizmet paketini yükleyin:
2555840 Microsoft Forefront Threat Management Gateway 2010 için Service Pack 2'in açıklaması

Durum

Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Daha fazla bilgi

ISA 2006 ya da Service Pack 2 olmadan tmg bu soruna geçici bir çözüm için aşağıdaki komut dosyası belirtilen web yayımlama kuralı üzerinde iç parametre ayarlamak için kullanabilirsiniz. Varsayılan olarak, Service Pack 2 tmg sağlayan ayar budur.

Komut dosyasını kullanmak için Not Defteri'ne kopyalayın ve bir dizi üyeleri .vbs dosya olarak kaydedin.

Komut dosyasında aşağıdaki satırı düzenleyin değiştirilmesi ReplaceRuleNameHere ile ilgili web yayımlama kuralı adı:
argRuleName = "ReplaceRuleNameHere"
Dizi dizi üyeleri üzerinde aşağıdaki komut dosyasını çalıştırın:
argRuleName = "ReplaceRuleNameHere"
argParamName = "SendLogonOn401"
argVal = "true"

Set rule = CreateObject("FPC.Root").GetContainingArray.ArrayPolicy.PolicyRules.Item(argRuleName)
Set VendorSets = rule.VendorParametersSets

On Error Resume Next
Set VendorSet = VendorSets.Item( "{5e302ed5-f5d5-4fad-9b8a-01c72e1569f3}" )
If Err.Number <> 0 Then
Err.Clear
Set VendorSet = VendorSets.Add( "{5e302ed5-f5d5-4fad-9b8a-01c72e1569f3}" )
CheckError
WScript.Echo "No existing VendorSet."
Else
WScript.Echo "Existing VendorSet found. Values in it:"
for each name in VendorSet.allNames
WScript.Echo " ", name, "=", VendorSet.Value(name)
next
WScript.Echo "-------------------------------------"
End If

On Error GoTo 0

On Error Resume Next
valType = "Int" : Val = CInt(argVal)
If Err.Number <> 0 Then
Err.Clear
valType = "Boolean" : Val = CBool(argVal)
If Err.Number <> 0 Then
Err.Clear
valType = "String" : Val = CStr(argVal)
End If
End If

WScript.Echo "Setting", argParamName, "=", Val, "(type=" & valType & ")"
VendorSet.Value(argParamName) = Val

VendorSet.Save

Sub CheckError()
If Err.Number <> 0 Then
WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
Err.Clear
End If
End Sub

Referanslar

Yazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
824684 Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması

Özellikler

Makale numarası: 2596444 - Last Review: 17 Ekim 2011 Pazartesi - Gözden geçirme: 1.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Forefront Threat Management Gateway 2010 Enterprise
  • Microsoft Forefront Threat Management Gateway 2010 Standard
  • Microsoft Forefront Threat Management Gateway 2010 Service Pack 1
Anahtar Kelimeler: 
kbfix kbbug kbexpertiseinter kbsurveynew kbmt KB2596444 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:2596444

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com