Συμπτώματα
Ένας διακομιστής που εκτελεί το Microsoft Forefront απειλή διαχείρισης πύλη (TMG) 2010 ενδέχεται να σταματήσει να αποδέχεται νέες συνδέσεις σε ένα διακομιστή μεσολάβησης web συγκεκριμένες ή πρόγραμμα ακρόασης στο web. Αυτό το ζήτημα ενδέχεται να προκύψει μετά από αρκετές ώρες σε πολλές ημέρες χρόνου λειτουργίας του διακομιστή.
Αιτία
Αυτό το ζήτημα παρουσιάζεται όταν TMG σταματά να αποδέχεται νέες συνδέσεις σχετικά με το πρόγραμμα ακρόασης στο web. Αυτό σύντομα συμπληρώνει την ουρά λίστας εκκρεμοτήτων για την υποδοχή προγράμματος οδήγησης (AFD) βοηθητικές συνάρτηση. Αφού η λίστα εκκρεμοτήτων ουρά είναι πλήρης, ο διακομιστής ξεκινά να επαναφέρετε νέες εισερχόμενες συνδέσεις. Εάν μπορείτε να παρακολουθείτε το διακομιστή με χρήση της εποπτείας δικτύου σε αυτήν την περίπτωση, ενδέχεται να παρατηρήσετε μια SYN, ACK/RST μοτίβο για κάθε νέα προσπάθεια σύνδεσης.
Προτεινόμενη αντιμετώπιση
Για να επιλύσετε αυτό το ζήτημα, εγκαταστήστε τη συλλογή ενημερωμένων εκδόσεων 5 για το Forefront απειλή διαχείρισης πύλη (TMG) 2010 Service Pack 2.
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".
Περισσότερες πληροφορίες
Μετά την εγκατάσταση της συλλογής ενημερωμένων εκδόσεων 5, πρέπει να ενεργοποιήσετε τη λειτουργία για να χρονικό όριο αδράνειας δέχεται κλήσεις. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
-
Αντιγράψτε την ακόλουθη δέσμη ενεργειών στο Σημειωματάριο (Notepad) και, στη συνέχεια, αποθηκεύστε το αρχείο ως 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
-
Εκτελέστε τη δέσμη ενεργειών σε έναν από τους διακομιστές TMG. Για παράδειγμα, για να ορίσετε την περίοδο χρονικού ορίου σε 5 λεπτά, εκτελέστε τα ακόλουθα από μια γραμμή εντολών διαχείρισης:
cscript.exe SetAcceptIdleTimeout.vbs 300
-
Για να ισχύσει αυτή η αλλαγή, κάντε επανεκκίνηση της υπηρεσίας τείχους προστασίας σε όλα τα μέλη του πίνακα.
Για να αναιρέσετε αυτήν την αλλαγή, εκτελέστε την ακόλουθη εντολή για να ορίσετε το χρονικό όριο αδράνειας σε 0:
cscript.exe SetAcceptIdleTimeout.vbs 0
Αναφορές
Πληροφορίες σχετικά με την ορολογία που χρησιμοποιεί η Microsoft για την περιγραφή ενημερωμένων εκδόσεων λογισμικού.