Συμπτώματα
Σε ένα διακομιστή που εκτελεί τον Microsoft Internet Security and Acceleration (ISA) Server 2004 με Service Pack 2 ή Windows Essential Business Server 2008, απενεργοποιείτε τα ακόλουθα δύο φίλτρα Web:
-
Φίλτρο συμπίεσης
-
Προσωρινή αποθήκευση συμπιεσμένου φίλτρου περιεχομένου
Αφού το κάνετε αυτό, ο ISA Server 2004 ή ο Windows Essential Business Server 2008 αποκλείει αιτήσεις που περιλαμβάνουν την κεφαλίδα HTTP Accept-Encoding όταν χρησιμοποιείται διακομιστής μεσολάβησης προώθησης.
Αυτά τα φίλτρα Web παρουσιάστηκαν για πρώτη ανάγκη στον ISA Server 2004 Service Pack 2 ή στον Windows Essential Business Server 2008. Μπορείτε να απενεργοποιήσετε αυτά τα φίλτρα Web λόγω προβλημάτων συμβατότητας προγραμμάτων που αφορούν ορισμένους διακομιστές Web.
Επίλυση
Πληροφορίες service pack
Για να επιλύσετε αυτό το πρόβλημα, εγκαταστήστε τον ISA Server 2004 Service Pack 3 (SP3) και, στη συνέχεια, εκτελέστε τη δέσμη ενεργειών της Microsoft Visual Basic που αναφέρεται σε αυτή την ενότητα.
Μετά την εγκατάσταση του Service Pack, εκτελέστε την ακόλουθη δέσμη ενεργειών για να ενεργοποιήσετε μια νέα παράμετρο ρύθμισης παραμέτρων. Αυτή η νέα παράμετρος επιτρέπει στον ISA Server να προωθεί αιτήσεις που περιλαμβάνουν το Accept-Encoding κεφαλίδα HTTP, εάν τα φίλτρα συμπίεσης είναι απενεργοποιημένα σε ένα σενάριο διακομιστή μεσολάβησης προώθησης. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα.
Η Microsoft παρέχει παραδείγματα προγραμματισμού μόνο για απεικόνιση, χωρίς εγγύηση εκφρασμένη ή σιωπηρή. Αυτό περιλαμβάνει, μεταξύ άλλων, τις σιωπηρές εγγυήσεις εμπορευσιμότητας ή καταλληλότητας για συγκεκριμένο σκοπό. Αυτό το άρθρο προϋποθέτει ότι είστε εξοικειωμένοι με τη γλώσσα προγραμματισμού που παρουσιάζεται και με τα εργαλεία που χρησιμοποιούνται για τη δημιουργία και τον εντοπισμό σφαλμάτων διαδικασιών. Οι μηχανικοί υποστήριξης της Microsoft μπορούν να εξηγήσουν τη λειτουργικότητα μιας συγκεκριμένης διαδικασίας. Ωστόσο, δεν θα τροποποιήσουν αυτά τα παραδείγματα για να παρέχουν πρόσθετη λειτουργικότητα ή διαδικασίες κατασκευής που πληρούν τις συγκεκριμένες απαιτήσεις σας.
-
Κάντε κλικ στο κουμπί Έναρξη, τοποθετήστε το δείκτη του ποντικιού στην επιλογή Όλα τα προγράμματα, τοποθετήστε το δείκτη του ποντικιού στην επιλογή Βοηθήματα και, στη συνέχεια, κάντε κλικ στην επιλογή Σημειωματάριο.
-
Επικολλήστε τον παρακάτω κώδικα στο έγγραφο του Σημειωματάριου.
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}" Const SE_VPS_NAME = "AccessRuleSendAcceptEncodingHeader" Const SE_VPS_VALUE = true Sub SetValue() ' Create the root obect. Dim root ' The FPCLib.FPC root object Set root = CreateObject("FPC.Root") 'Declare the other objects needed. Dim array ' An FPCArray object Dim VendorSets ' An FPCVendorParametersSets collection Dim VendorSet ' An FPCVendorParametersSet object ' Get references to the array object ' and the network rules collection. Set array = root.GetContainingArray Set VendorSets = array.VendorParametersSets On Error Resume Next Set VendorSet = VendorSets.Item( SE_VPS_GUID ) If Err.Number <> 0 Then Err.Clear ' Add the item Set VendorSet = VendorSets.Add( SE_VPS_GUID ) CheckError WScript.Echo "New VendorSet added... " & VendorSet.Name Else WScript.Echo "Existing VendorSet found... value- " & VendorSet.Value(SE_VPS_NAME) End If if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then Err.Clear VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE If Err.Number <> 0 Then CheckError Else VendorSets.Save false, true CheckError If Err.Number = 0 Then WScript.Echo "Done with " & SE_VPS_NAME & ", saved!" End If End If Else WScript.Echo "Done with " & SE_VPS_NAME & ", no change!" End If End Sub Sub CheckError() If Err.Number <> 0 Then WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description Err.Clear End If End Sub SetValue
-
Αποθηκεύστε το αρχείο του Σημειωματάριου ως "AccessRuleSendAcceptEncodingHeader.vbs".
-
Κάντε διπλό κλικ στο αρχείο .vbs για να εκτελέσετε τη δέσμη ενεργειών.
Για να απενεργοποιήσετε τη νέα παράμετρο ρύθμισης παραμέτρων, ακολουθήστε τα παρακάτω βήματα:
-
Κάντε κλικ στο κουμπί Έναρξη, τοποθετήστε το δείκτη του ποντικιού στην επιλογή Όλα τα προγράμματα, τοποθετήστε το δείκτη του ποντικιού στην επιλογή Βοηθήματα και, στη συνέχεια, κάντε κλικ στην επιλογή Σημειωματάριο.
-
Επικολλήστε τον παρακάτω κώδικα στο έγγραφο του Σημειωματάριου.
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}" Const SE_VPS_NAME = "AccessRuleSendAcceptEncodingHeader" Const SE_VPS_VALUE = false Sub SetValue() ' Create the root obect. Dim root ' The FPCLib.FPC root object Set root = CreateObject("FPC.Root") 'Declare the other objects needed. Dim array ' An FPCArray object Dim VendorSets ' An FPCVendorParametersSets collection Dim VendorSet ' An FPCVendorParametersSet object ' Get references to the array object Set array = root.GetContainingArray Set VendorSets = array.VendorParametersSets On Error Resume Next Set VendorSet = VendorSets.Item( SE_VPS_GUID ) If Err.Number <> 0 Then Err.Clear ' Add the item Set VendorSet = VendorSets.Add( SE_VPS_GUID ) CheckError WScript.Echo "New VendorSet added... " & VendorSet.Name Else WScript.Echo "Existing VendorSet found... value- " & VendorSet.Value(SE_VPS_NAME) End If if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then Err.Clear VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE If Err.Number <> 0 Then CheckError Else VendorSets.Save false, true CheckError If Err.Number = 0 Then WScript.Echo "Done with " & SE_VPS_NAME & ", saved!" End If End If Else WScript.Echo "Done with " & SE_VPS_NAME & ", no change!" End If End Sub Sub CheckError() If Err.Number <> 0 Then WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description Err.Clear End If End Sub SetValue
-
Αποθηκεύστε το αρχείο του Σημειωματάριου ως "Disable_AccessRuleSendAcceptEncodingHeader.vbs".
-
Κάντε διπλό κλικ στο αρχείο .vbs για να εκτελέσετε τη δέσμη ενεργειών.
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για πρόβλημα στα προϊόντα της Microsoft που αναφέρονται στην ενότητα "Ισχύει για".