Если требуется обработать это содержимое как файл статистики добавьте явное сопоставление mime

Обновлено: 07.07.2024

мне нужно добавить новое отображение MIME для .расширения файлов woff для IIS Express.

Если я добавлю следующий фрагмент в " applicationhost.config " IIS Express отлично работает:

но я бы хотел добавить его в свою "сеть".config", чтобы не каждому разработчику нужно было менять свой "applicationhost".конфигурация" локально.

поэтому я снова удалил его из " applicationhost.config " и добавил следующий фрагмент к проекту "сеть.config":

что я делаю не так?

положить его в " web.конфигурация" нормально работает. Проблема была в том, что я неправильно понял тип мима. Вместо font/x-woff или font/x-font-woff должно быть application/font-woff :

обновление 4/10/2013

Spec теперь является рекомендацией, и тип MIME официально: application/font-woff

Если кто-нибудь сталкивается с этим с ошибками, такими как Ошибка: невозможно добавить запись повторяющиеся коллекции типа mimeMap ‘с уникальным ключевым атрибутом и / или другие скрипты перестают работать при выполнении этого исправления, это может помочь удалить его сначала следующим образом:

по крайней мере, это решило мою проблему

Я знаю, это старый вопрос, но.

Я только что заметил, что мой экземпляр IISExpress не обслуживал файлы woff, поэтому я не искал (нашел это) , а затем нашел:

Я полагаю, что моя установка поддерживает SVG, так как у меня не было проблем с этим. Но инструкции тривиально модифицируются для woff:

  • открыть консоль применение торговые льготы с администратором.
  • переход к каталогу IIS Express. Это живет под Program Files или Program Files (x86)

appcmd set config / section:staticContent / +[fileExtension= 'woff', mimeType= 'application / x-woff']

решил мою проблему, и мне не пришлось возиться с какой-то дрянной конфигурацией (например, мне пришлось добавить поддержку PUT и DELETE глаголы). Ура!

Я не использую IIS Express, но развиваюсь против моего локального полного IIS 7.

поэтому, если кто-то еще пытается это сделать, мне пришлось добавить тип mime для woff через диспетчер IIS

типы Mime > > нажмите Добавить ссылку справа, а затем введите Расширение:.woff Тип MIME: приложение / шрифт-woff

чтобы решить проблему, дважды щелкните параметр конфигурации " типы MIME "при выборе корневого узла IIS на левой панели и нажмите "Добавить". "ссылка в панели действий справа. Это вызовет следующий диалог. Добавлять.расширение файла woff и укажите "application / x-font-woff" в качестве соответствующего типа MIME:

Я обслуживаю файлы .JSON, но даже если файл существует, IIS продолжает выдавать ошибку 404 при обращении к любому из файлов. Я попытался переименовать один из файлов в .JS, и это работает.

Любой указатель, какие настройки могут вызвать эту проблему?

По умолчанию IIS в W2K3 и выше не будет обслуживать файлы, которые не относятся к типу MIME, о котором он знает (вместо этого возвращается 404 ошибки).

Вам нужно добавить MIME-тип в IIS, чтобы он мог обслуживать этот тип файла. Вы можете установить его на уровне сайта или на уровне сервера.

Чтобы установить это для всего сервера:

  • Откройте свойства сервера в диспетчере IIS и нажмите MIME Types
  • Нажмите «Новый». Введите «JSON» для расширения и «application / json» для типа MIME.
Я добавляю новый тип MIME, перезапускаю веб-сайт, но все равно 404. В любом случае, спасибо, я думаю, что это может быть одной из проблем. Хм. Дважды проверьте, что вы изменили. Симптом «переименовал файл и все заработало» является классическим показателем такого поведения. Трипл проверил это. Я предполагаю, что вам не нужно перезагружать весь сервер, верно? Хм . я изо всех сил пытаюсь сказать тебе, что делать тогда. Я просто сделал это сам на чистой виртуальной машине Windows Server 2003 SP2. Я установил IIS, создал файл «foo.json» в «C: \ inetpub \ wwwroot», подтвердил, что получил 404, когда нажал « localhost / foo.json » в браузере, добавил тип MIME для «.JSON». "/" application / json "на сайт, затем перешел в мое все еще открытое окно IE, нажал F5 и увидел загрузку страницы. Я думаю, у тебя есть что-то еще в игре. Мне также нужно было убедиться, что расширения веб-служб были включены, чтобы сделать эту работу для меня .

У меня такая же проблема. IIS выполняет то, что называется фильтрацией MIME-типов. Если он не знает тип MIME конкретного расширения файла, он возвращает ошибку 404.

Для IIS 7: Откройте диспетчер IIS. Нажмите на сервер или веб-сайт. Дважды щелкните значок функции MIME Types . На панели действий нажмите кнопку Добавить . Заполните поле «Расширение имени файла» с помощью *, а в поле MIME Type - «application / octet-stream».

Я добавил тип MIME .json - text/json на сайт в IIS для просмотра в браузере в виде текста.

Чтобы объединить ответы в еще один общий ответ:

  • IIS не будет обслуживать файлы, с которыми не связан тип MIME
    • Смотрите: IIS 6.0 не будет обслуживать неизвестные типы MIME
    • И: Настройка типов MIME в IIS 7

    Если вы сталкиваетесь с подобной проблемой, откройте файлы веб-журнала веб-сайта и посмотрите код дополнительного состояния (например, 404 3), чтобы точно определить, почему ваш веб-сайт не обслуживает контент для IIS 6, или

    • использовать отслеживание невыполненных запросов
    • (или просто подробные ошибки на локальной консоли)
    Это «предостережение» не имеет смысла: «. это означает, что IIS рассматривает их как активный контент, а не статические файлы». Web.config объявляет файлы json как статические: <staticContent> <mimeMap fileExtension = ". Json" mimeType = "application / json" /> </ staticContent> «IIS не будет обслуживать статические файлы, с которыми не связан тип MIME, если с ними не связан обработчик сценария», все еще работает как (IMO) истинное утверждение. В случае, если кто-то не может их обслуживать, похоже, что у них нигде нет этого определения в их конфигурационных файлах. Возможно, ваша копия Windows более свежая, чем их?

    У меня тоже была эта проблема - и проблема оказалась в правах доступа к папке, где хранился файл json. Я ответил на аналогичный вопрос здесь .

    Все эти люди правильно сказали, что вам нужно добавить тип MIME.

    Тип MIME включает расширение файла на сервере, а Mapping Handler сообщает IIS, что с ним делать.

    Таким образом, вам также нужно добавить обработчик сопоставления , и для этого вам необходимо установить функцию Windows под названием Classic Asp для обработки сопоставления.

    Вот как добавить обработчик сопоставления:

    1. Откройте диспетчер IIS7
    2. Перейдите к свойствам IIS Server (или просто к сайту, если вам не нужны глобальные настройки)
    3. Нажмите на Handler Mappings
    4. Нажмите на Add a Script Map
    5. Введите свойства:
      • Путь запроса: *.json
      • Исполняемые: C:\WINDOWS\system32\inetsrv\asp.dll
      • Имя: JSON (вы можете называть это как угодно)
    6. Нажмите ОК, и все готово. Он должен начать работать, и вам не нужно сбрасывать IIS.

    Мне нужно добавить новое MIME-отображение для расширений .woff файлов в IIS Express.

    Если я добавлю следующий фрагмент в "applicationhost.config" IIS Express, он отлично работает:

    Но я действительно хотел бы добавить его в свой "web.config", чтобы не каждый разработчик должен локально изменять свой "applicationhost.config" .

    Итак, я удалил его снова из файла "applicationhost.config" и добавил в проект "web.config" следующий фрагмент:

    Что я делаю неправильно?

    ОТВЕТЫ

    Ответ 1

    Вложение в "web.config" отлично работает. Проблема в том, что я неправильно использовал MIME-тип. Вместо font/x-woff или font/x-font-woff он должен быть application/font-woff :

    Обновление 4/10/2013

    В настоящее время спецификация представляет собой рекомендацию, а тип MIME официально: application/font-woff

    Ответ 2

    Если кто-то сталкивается с такими ошибками, как Ошибка: не удается добавить дублируемую запись коллекции типа "mimeMap" с уникальным атрибутом ключа и/или другие скрипты перестают работать при выполнении этого исправления, это может помочь сначала удалить его следующим образом:

    По крайней мере, это решило мою проблему

    Ответ 3

    Ответ 4

    Я знаю, что это старый вопрос, но.

    Я просто заметил, что мой экземпляр IISExpress не обслуживал файлы woff, поэтому я не искал (нашел это), а затем нашел:

    Я полагаю, что моя установка поддерживает SVG, поскольку у меня не было проблемы с этим. Но инструкции тривиально модифицируются для woff:

    • Откройте консольное приложение с правами администратора.
    • Навигация в каталог IIS Express. Это работает под программными файлами или программными файлами (x86)

    appcmd set config/section: staticContent/+ [fileExtension = 'woff', mimeType = 'application/x-woff']

    Решила мою проблему, и мне не пришлось возиться с какой-то crummy config (вроде, мне пришлось добавить поддержку глаголов PUT и DELETE ). Ура!

    Ответ 5

    Ответ 6

    Я не использую IIS Express, но развиваюсь против своего локального полного IIS 7.

    Итак, если кто-то еще пытается это сделать, мне пришлось добавить тип mime для woff через диспетчер IIS

    Ответ 7

    Чтобы решить проблему, дважды щелкните параметр конфигурации "MIME Types", когда на левой панели выбран IIS root node и нажмите "Добавить. " на панели "Действия" справа. Появится следующий диалог. Добавьте расширение .woff и укажите "application/x-font-woff" как соответствующий тип MIME:

    Мне нужно добавить новое сопоставление MIME для расширений файлов .woff в IIS Express.

    Если я добавлю следующий фрагмент в "applicationhost.config" IIS Express, он будет работать нормально:

    Но на самом деле я бы хотел добавить его в свой "web.config", чтобы не каждому разработчику приходилось изменять свой "applicationhost.config" локально.

    Поэтому я снова удалил его из файла «applicationhost.config» и добавил следующий фрагмент в «web.config» проекта:

    Что я делаю не так?

    Чтобы решить эту проблему, дважды щелкните параметр конфигурации «Типы MIME», выбрав корневой узел IIS на левой панели, и щелкните ссылку «Добавить . » на панели «Действия» справа. Это вызовет следующий диалог. Добавьте расширение файла .woff и укажите "application / x-font-woff" в качестве соответствующего типа MIME:

    enter image description here

    Сделайте то же самое для woff2 с помощью application / x-font-woff2

    Я не использую IIS Express, но разрабатываю с использованием своего Local Full IIS 7.

    Поэтому, если кто-то еще пытается это сделать, мне пришлось добавить тип mime для woff через диспетчер IIS.

    Типы Mime >> Щелкните ссылку "Добавить" справа и введите Расширение: .woff Тип MIME: application/font-woff 3

    Я знаю, что это старый вопрос, но .

    Я просто заметил, что мой экземпляр IISExpress не обслуживает файлы woff, поэтому я не искал (нашел это), а затем нашел:

    Я полагаю, что моя установка поддерживает SVG, поскольку у меня с этим не было проблем. Но инструкции для woff можно легко изменить:

    • Откройте консольное приложение с правами администратора.
    • Перейдите в каталог IIS Express. Это живет в Program Files или Program Files (x86)

    appcmd set config / section: staticContent / + [fileExtension = 'woff', mimeType = 'application / x-woff']

    Моя проблема решена, и мне не пришлось возиться с какой-то убогой конфигурацией (например, мне пришлось добавить поддержку глаголов PUT и DELETE ). Ура!

    Если кто-то сталкивается с такими ошибками, как Ошибка: невозможно добавить повторяющуюся запись коллекции типа «mimeMap» с уникальным ключевым атрибутом и / или другие скрипты перестают работать при выполнении этого исправления, может помочь сначала удалить ее следующим образом:

    О безопасности веб-приложения желательно начинать задумываться с самого начала процесса разработки. Веб-сайт никогда не будет надежно защищен до тех пор, пока вы не предпримите все необходимые меры, чтобы защитить веб-сервер от максимально возможного количества существующих уязвимостей.

    image

    Автор: AJ Kumar

    О безопасности веб-приложения желательно начинать задумываться с самого начала процесса разработки. Веб-сайт никогда не будет надежно защищен до тех пор, пока вы не предпримите все необходимые меры, чтобы защитить веб-сервер от максимально возможного количества существующих уязвимостей. Даже если исходный код надежно защищен, злоумышленники все равно могут найти лазейку. И даже когда уязвимости отсутствуют вовсе, сервер так и или иначе взаимодействует с другими системами, что вполне может стать причиной незаконного проникновения. В конце концов, сервер обслуживают люди, которые часто не обладают достаточной компетенцией в этих вопросах.

    IIS-уязвимости

    Существует огромное количество видов атак на веб-сайт, начиная от лазеек в базах данных и уязвимостей в исходном коде и заканчивая вирусами, недовольными сотрудниками и социальной инженерией. Однако полная классификация всех возможных атак на IIS-сервер выходит за рамки этой статьи. Но в целом, можно сказать, что целями злоумышленников являются механизмы аутентификации, авторизации и аудита. Вначале взломщик подбирает пароль и пытается попасть в систему как легитимный пользователь. После успешной аутентификации хакер пытается получить доступ к другим ресурсам посредством изменения политики безопасности сервера. И, наконец, потом злоумышленник удаляет следы, поскольку каждое действие пользователя обычно записывается в лог при помощи механизмов аудита.

    Более того, некоторые хакеры осуществляют так называемые «пассивные» атаки, следы от которых обнаружить еще сложнее. Во время пассивной атаки злоумышленник вообще не предпринимает никаких действий, а просто наблюдает за тем, что происходит в системе. Таким образом, детектирование, предупреждение и противодействие подобного рода атакам может быть затрудненно в особенности там, где работают неграмотные администраторы или плохо проработана политика безопасности.

    Безопасность IIS

    http://2we26u4fam7n16rz3a44uhbe1bq2.wpengine.netdna-cdn.com/wp-content/uploads/041415_0216_HardeningII1.jpg

    Рисунок 1: Средства безопасности в IIS

    Регулирование прав доступа

    Запрет на соединение предпочтительнее конфигурировать на как можно более низком уровне в модели OSI.

    Чтобы сконфигурировать политику относительно DNS для разрешения доступ всем, кроме специально указанных адресов, кликните на ‘Edit Feature Settings’. Появится окно ‘IP Address and Domain Restrictions’.

    http://2we26u4fam7n16rz3a44uhbe1bq2.wpengine.netdna-cdn.com/wp-content/uploads/041415_0216_HardeningII2.jpg

    Рисунок 2: Запрет на доступ определенным клиентам

    Затем вы можете создать правила для определенных хостов или подсетей. Чтобы создать правило, разрешающее доступ для конкретного клиента или подсети, кликните на “Allow Entry” и укажите отдельный IP-адрес или диапазон IP-адресов.

    http://2we26u4fam7n16rz3a44uhbe1bq2.wpengine.netdna-cdn.com/wp-content/uploads/041415_0216_HardeningII3.jpg

    Рисунок 3: Разрешение на доступ определенным хостам

    Настройка MIME-Type

    http://2we26u4fam7n16rz3a44uhbe1bq2.wpengine.netdna-cdn.com/wp-content/uploads/041415_0216_HardeningII4.jpg

    Рисунок 4: Добавление нового MIME type

    Фильтрация запросов

    <security>
    <requestFiltering>
    <verb sallowUnlisted=”false” >
    <add verb=”GET” allowed=”true” />
    </verbs>
    </requestFiltering>
    </security>

    Другой пример, когда фильтруются запросы, содержащие имена файлов, которые не соответствуют набору правил. Подобные запросы можно разрешить или отклонить. Если запрос отклонен, в лог будет записан статус 404.7. Для фильтрации запросов на основе имен файлов используйте шаблон ниже:

    <security>
    <requestFiltering>
    <fileExtensions allowUnlisted=”false” >
    <add fileExtension=”.asp” allowed=”true” />
    </fileExtensions>
    </ requestFiltering>
    </security>

    Запрос также может быть отклонен при превышении определенного размера запроса.

    <security>
    <requestFiltering>
    <requestLimits
    maxAllowedContentLength=”200000000”
    maxUrl=”30” />
    </requestLimits>
    </ requestFiltering>
    </security>

    И последний пример, в котором запросы фильтруются на основе подстрок (в данном случае – «. .»), входящих в URL.

    <security>
    <requestFiltering>
    <denyUrlSequence>
    <add sequence=”. .” />
    </denyUrlSequence>
    </ requestFiltering>
    </security>

    Настройка пула приложений

    Когда необходимо получить информацию из внешнего источника, может возникнуть конфликт, поскольку довольно сложно разделить между собой пулы веб-приложений. Иначе говоря, код, запущенный внутри одного пула, будет влиять на работоспособность другого пула. Чтобы в некоторой степени предотвратить этот конфликт, в IIS предусмотрена настройка пула приложений. Каждый пул приложений имеет свой конфигурационный файл, которых хранится в папке %systemdriver\inetpub\temp\appPools, и дополнительный идентификатор безопасности (SID), инжектируемый в соответствующий процесс w3wp.exe. Соответственно, каждый конфигурационный файл пула закреплен за своим SID’ом через права доступа.

    Полная изоляция пулов между собой позволяет исключить возможность влияния вредоносного сайта на соседние пулы, находящиеся на одном сервере. Если один из сайтов будет скомпрометирован, другие останутся защищенными.

    http://2we26u4fam7n16rz3a44uhbe1bq2.wpengine.netdna-cdn.com/wp-content/uploads/041415_0216_HardeningII5.jpg

    Рисунок 5: Добавление пула приложений

    Настройка ISAPI

    В IIS можно запретить или разрешить те или иные расширения ISAPI. Если расширение запрещено, при запросе файла соответствующего типа в лог заносится статус 404.2, поскольку злоумышленник может удаленно внедрить и выполнить вредоносный код. После добавления новых расширений в дальнейшем необходимо провести аудит безопасности сервера. Чтобы добавить расширение, укажите имя фильтра и путь к библиотеке DLL.

    http://2we26u4fam7n16rz3a44uhbe1bq2.wpengine.netdna-cdn.com/wp-content/uploads/041415_0216_HardeningII6.jpg

    Рисунок 6: Добавление нового расширения

    Настройка логов

    Хакеры часто проводят DOS-атаки, отправляя на сервер огромные запросы, что в свою очередь может сказаться на размере логов. При помощи логов, например, можно выявить факты неправомерного доступа. В ОС Windows имеет встроенная функция записи в журнал важной информации: время авторизации, попытки подбора пароля и т. д., что является одним из признаков атаки. Для каждого сайта можно настроить систему фиксации событий в формате W3C.

    http://2we26u4fam7n16rz3a44uhbe1bq2.wpengine.netdna-cdn.com/wp-content/uploads/041415_0216_HardeningII7.jpg

    Рисунок 7: Настройка логов

    В IIS есть возможность оповещения, как для успешных, так и для неудачных попыток входа в систему, чтобы администратор смог быстро обнаружить подозрительную активность.

    Настройка страниц ошибок

    Злоумышленник может получить конфиденциальную информацию о сервере или приложении во время возникновении ошибки. Все дело в том, что если сервер не в состоянии обработать неизвестную фатальную ошибку, то помимо статуса ошибки отображается дополнительная информация, которая может заинтересовать хакера. На рисунке ниже как раз показан такой случай, где злоумышленнику доступно имя пользователя, пароль, IP-адрес сервера, структура базы данных и т. д.

    http://2we26u4fam7n16rz3a44uhbe1bq2.wpengine.netdna-cdn.com/wp-content/uploads/041415_0216_HardeningII8.jpg

    Рисунок 8: Неудачный пример страницы с ошибкой

    Вместо страницы, показанной выше, для каждого типа ошибки следует привязывать заранее заготовленную страницу, чтобы скрыть конфиденциальную информацию.

    В IIS есть возможность выдачи различных страниц с ошибками для конечных пользователей, администраторов и разработчиков.

    http://2we26u4fam7n16rz3a44uhbe1bq2.wpengine.netdna-cdn.com/wp-content/uploads/041415_0216_HardeningII9.jpg

    Рисунок 9: Настройка страниц ошибок

    Даже после грамотной настройки IIS не следует забывать о безопасности приложений. В последнее время много внимания уделяется уязвимостям в веб-приложениях: SQL-инъекциям, межсайтовому скриптингу, воспроизведению сессий (session replay), RFI и многим другим. С каждым днем злоумышленники становятся все более изощренными. Таким образом, свои позиции следует защищать со всех фронтов.

    В статье мы рассмотрели способы защиты приложения посредством грамотной конфигурации IIS, включая ограничение доступа по IP-адресу, настройку MIME-Type, фильтрацию запросов, настройку пула приложений, ISAPI и страниц ошибок. Таким образом, на данный момент у вас должно появиться более полное понимание относительно безопасности в целом и в частности относительно настроек, повышающих безопасность IIS.

    Читайте также: