Triệu chứng
Máy chủ đang chạy Microsoft Forefront Threat Management Gateway (TMG) 2010 có thể ngừng nhận kết nối mới proxy web cụ thể hoặc nghe web. Vấn đề này có thể xảy ra sau một vài giờ đến vài ngày thời gian chạy máy chủ.
Nguyên nhân
Sự cố này xảy ra khi TMG ngừng nhận kết nối mới trên web nghe. Điều này sớm đầy hàng tồn đọng cho ổ cắm trình điều khiển (AFD) trình chức năng. Sau khi hàng tồn đọng đầy đủ, máy chủ khởi động lại kết nối mới đến. Nếu bạn giám sát máy chủ bằng cách sử dụng màn hình mạng trong trường hợp này, bạn có thể thấy một SYN ACK/RST mẫu cho mỗi lần kết nối mới.
Giải pháp
Để giải quyết vấn đề này, cài đặt Cập Nhật 5 Forefront Threat Management Gateway (TMG) 2010 gói dịch vụ 2.
Trạng thái
Microsoft đã xác nhận rằng đây là sự cố trong sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".
Thông tin
Sau khi bạn cài đặt Cập Nhật 5, bạn phải kích hoạt chức năng thời gian rỗi ra chấp nhận cuộc gọi. Để thực hiện việc này, hãy làm theo các bước sau:
-
Sao chép lệnh sau vào Notepad, và sau đó lưu tệp dưới dạng 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
-
Chạy tập lệnh trên một máy chủ TMG. Ví dụ: để đặt khoảng thời gian chờ 5 phút chạy sau từ dấu nhắc lệnh quản trị:
cscript.exe SetAcceptIdleTimeout.vbs 300
-
Để thực hiện thay đổi này có hiệu lực, khởi động lại dịch vụ tường lửa trên tất cả các thành viên của mảng.
Để hoàn tác các thay đổi này, chạy lệnh sau để đặt hết thời gian rỗi 0:
cscript.exe SetAcceptIdleTimeout.vbs 0
Tham khảo
Tìm hiểu về thuật ngữ Microsoft sử dụng để miêu tả các bản cập nhật phần mềm.