Сжатие GZip в IIS 7 НЕ работает (COMPRESSION_DISABLED) - как я могу это исправить?

Не могу заставить gzip работать с моим веб-сервером IIS7.

У меня есть 64-разрядная версия Windows 2008 под управлением IIS 7 (веб-приложение .NET). Я включил Gzip через модуль IIS, и у меня в webconfig есть следующая строка:

urlCompression doStaticCompression="true" doDynamicCompression="true" />

Каждый раз, когда я проверяю файлы FailedReqLogfiles, я получаю следующее: Когда я запускаю скомпилированный exe-файл на моем компьютере с Windows, я получаю результат, отличный от того, когда я запускаю его на удаленной UNIX ...

У меня есть инструмент шифрования, написанный на C #, который принимает строку в качестве входных данных. Когда я запускаю скомпилированный exe-файл на моем компьютере с Windows, я получаю результат, отличный от того, когда я запускаю его на удаленном сервере UNIX с использованием моно.

Вот пример:

Windows:

"encrypt.exe 01/01"
Output:
eR4et6LR9P19BfFnhGwPfA==

Unix:

"mono encrypt.exe 01/01"
Output:
Pa8pJCYBN7+U+R705TFq7Q==

Я даже попытался поместить входное значение в скрипт, а затем скомпилировать и запустить его снова, и получил те же результаты.

Функция дешифрования находится на удаленной веб-службе и использует жестко закодированный ключ и значения IV ( Я использую эти значения для шифрования), Вывод дешифрования:

Input (String generated on windows):
eR4et6LR9P19BfFnhGwPfA==
Output:
01/01

Input (String generated on Unix):
Pa8pJCYBN7+U+R705TFq7Q==
Output:
????1

Это функция шифрования:

string text = args[0];
byte[] clearData = Encoding.Unicode.GetBytes(text);
PasswordDeriveBytes bytes = new PasswordDeriveBytes(password, new byte[] { 0x19, 0x76, 0x61, 110, 0x20, 0x4d, 0x65, 100, 0x76, 0x65, 100, 0x65, 0xf6 });
string a = Convert.ToBase64String(Encrypt(clearData, bytes.GetBytes(0x20), bytes.GetBytes(0x10)));
Console.Write(a);

public static byte[] Encrypt(byte[] clearData, byte[] Key, byte[] IV)
{
    MemoryStream stream = new MemoryStream();
    Rijndael rijndael = Rijndael.Create();
    rijndael.Key = Key;
    rijndael.IV = IV;
    CryptoStream stream2 = new CryptoStream(stream, rijndael.CreateEncryptor(), CryptoStreamMode.Write);
    stream2.Write(clearData, 0, clearData.Length);
    stream2.Close();
    return stream.ToArray();
}

Это функция дешифрования (я не могу вносить в нее изменения):

byte[] cipherData = Convert.FromBase64String(encryptedString);
PasswordDeriveBytes bytes2 = new PasswordDeriveBytes(password, new byte[] { 0x19, 0x76, 0x61, 110, 0x20, 0x4d, 0x65, 100, 0x76, 0x65, 100, 0x65, 0xf6 });
byte[] buffer2 = Decrypt(cipherData, bytes2.GetBytes(0x20), bytes2.GetBytes(0x10));
string output = Encoding.Unicode.GetString(buffer2);
Console.Write(output); 

public static byte[] Decrypt(byte[] cipherData, byte[] Key, byte[] IV)
{
        MemoryStream stream = new MemoryStream();
        Rijndael rijndael = Rijndael.Create();
        rijndael.Key = Key;
        rijndael.IV = IV;
        CryptoStream stream2 = new CryptoStream(stream, rijndael.CreateDecryptor(), CryptoStreamMode.Write);
        stream2.Write(cipherData, 0, cipherData.Length);
        stream2.Close();
        return stream.ToArray();
}
7
задан abatishchev 3 March 2013 в 07:44
поделиться