Gejala
Server yang menjalankan Microsoft Forefront Threat Management Gateway (TMG) 2010 akan berhenti menerima sambungan baru ke proksi web tertentu atau pendengar web. Masalah ini dapat terjadi setelah beberapa jam untuk beberapa hari dari server waktu aktif.
Penyebab
Masalah ini terjadi saat TMG berhenti menerima sambungan baru di pendengar web. Ini segera mengisi antrian jaminan simpanan untuk fungsi tambahan (AFD) pengandar soket. Setelah antrian jaminan simpanan penuh, server dimulai untuk me-reset sambungan masuk yang baru. Jika Anda memonitor server dengan menggunakan Monitor jaringan dalam situasi ini, Anda mungkin memperhatikan SYN, ACK soal pola untuk setiap upaya sambungan baru.
Pemecahan masalah
Untuk mengatasi masalah ini, instal Rollup 5 untuk Forefront Threat Management Gateway (TMG) 2010 Service Pack 2.
Status
Microsoft telah memastikan bahwa ini merupakan masalah di dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".
Informasi lebih lanjut
Setelah Anda menginstal Rollup 5, Anda harus mengaktifkan fungsionalitas waktu habis mati menerima panggilan. Untuk melakukannya, ikuti langkah-langkah berikut:
-
Salin skrip berikut ini ke Notepad, dan kemudian simpan berkas sebagai SetAcceptIdleTimeout.vbs:
'Define the constants needed.Const strVpsGUID = "{143F5698-103B-12D4-FF34-1F34767DEABC}"
Const strVpsPropertyName = "AcceptIdleTimeout" Const Error_FileNotFound = &H80070002 Set objArgs = wscript.Arguments if objArgs.Count > 0 then uAcceptIdleTimeout = objArgs(0) end if if objArgs.Count <> 1 then wscript.echo "Usage: SetAcceptIdleTimeout.vbs <timeout>" wscript.echo wscript.echo "Set async accept timeout to <timeout> value (in sec)" wscript.echo "To disable async accept timeout set it to 0" wscript.Quit 2 end if set objArray = CreateObject("FPC.Root").GetContainingArray() Set objVPSet = OpenVPSet(objArray, strVpsGUID) objVPSet.Value(strVpsPropertyName) = uAcceptIdleTimeout objArray.Save() objArray.RestartServices(1) function OpenVPSet(objParent, strVpsGUID) Set objVPSets = objParent.VendorParametersSets On Error Resume Next Set OpenVPSet = objVPSets.Item(strVpsGUID) ' Save the Err properties in case it needs to be re-raised errNumber = Err.Number errSource = Err.Source errDescription = Err.Description errHelpFile = Err.HelpFile errHelpContext = Err.HelpContext On Error GoTo 0 if errNumber = Error_FileNotFound Then Set OpenVPSet = objVPSets.Add(strVpsGUID) Elseif errNumber < 0 Then ' An error other than "file not found" occurred -- re-raise the error, ' this time not under "On Error Resume Next" Err.Raise errNumber, errSource, errDescription, errHelpFile, errHelpContext End If end function -
Menjalankan skrip pada salah satu server TMG. Sebagai contoh untuk menetapkan periode waktu habis ke 5 menit, jalankan berikut ini dari wantian perintah administratif:
cscript.exe SetAcceptIdleTimeout.vbs 300
-
Untuk membuat perubahan ini diterapkan, mulai ulang layanan firewall pada semua anggota array.
Untuk membatalkan perubahan ini, jalankan perintah berikut ini untuk menetapkan batas waktu mati ke 0:
cscript.exe SetAcceptIdleTimeout.vbs 0
Referensi
Pelajari tentang terminologi yang digunakan untuk menjelaskan pemutakhiran perangkat lunak Microsoft.