Недавно куча файлов, которые я настроил для загрузки через веб-сервер IIS6, перестала работать. Это ряд установочных файлов с расширением ".exe", которые работали несколько месяцев назад. У меня правильно установлены права доступа к файлам, и я даже включил просмотр в IIS, чтобы определить, действительно ли пути верны. Не уверен, связано ли это, но каталоги с точкой тоже перестали работать. например: "~ / download / ApplicationName / 0.9 / AppName-setup-0.9.123b2.exe"
Когда я переименовываю каталог в 0_9, просмотр работает, но сам файл доставляет сообщение 404 от IIS. На данный момент я настроил FileZilla FTP для анонимного доступа к этим файлам, но предпочел бы продолжать использовать IIS. Я подумывал о создании обработчика HTTP для обслуживания файлов .exe, но предпочел бы конфигурационное решение. Я просто не могу понять, почему не работает, все настройки правильные. Каталог настроен для чтения. «Все» имеют права на чтение самих файлов, и при просмотре каталогов (кроме переименования папки «0.9» на «0_9») отображаются файлы.
--редактировать--
Я должен отметить, что недавно я использовал WebPI для обновления (сначала удалил старый PHP) PHP и добавил поддержку ASP.Net 4. Возможно, он удалил сопоставление .exe, у меня только недавно были пользователи, уведомляющие меня о проблеме, и я смог повторить это сам. Я проверю сопоставление, когда смогу войти на сервер позже (не могу с работы).
IIS не будет обслуживать файл с расширением, для которого нет сопоставления типа MIME - см. http://support.microsoft.com/kb/326965 для получения подробной информации, в том числе о том, как редактировать сопоставления.
Вы изменили / установили что-нибудь, что могло вообще удалить отображение MIME для файлов .exe из IIS?
Кроме того, некоторые прокси-серверы и надстройки безопасности могут блокировать файлы .exe - добавляли ли вы что-нибудь подобное в последнее время или перенастраивали ли это?
Вы недавно установили что-нибудь, что работает вместе с IIS? Например, я считаю, что UrlScan по умолчанию предотвращает доступ к файлам .exe.
Я понимаю, что этот ответ опоздал на 2 года, но добавляю на тот случай, если кто-то еще найдет этот вопрос через Google - как я только что сделал.
Другая возможность, почему вы могли это получить, может быть связана с «защитным» программным обеспечением, блокирующим загрузку. Мне просто нужно было выяснить, почему файлы .exe не загружаются с сервера одного из наших клиентов, чтобы в конечном итоге обнаружить UrlScan был установлен.
Я не знаю, блокируются ли файлы .exe по умолчанию через конфигурацию UrlScan или они были добавлены нашим клиентом (он был на сервере задолго до нашего участия), но клиент был - по понятным причинам - не желает пропускать файлы .exe, поскольку на том же сервере размещались другие веб-сайты.
Нашим единственным вариантом было разместить файл .exe на наших серверах и разместить там ссылку. Это явно не идеально, поскольку пользователи веб-сайта загружают файл из домена, отличного от того, на котором они сейчас находятся, и имя человека для них ничего не значит.
редактировать - Я только что перечитал ответ Дэвида, который упоминает следующее (что делает мой ответ довольно бессмысленным) ...
Кроме того, некоторые прокси и надстройки безопасности могут блокировать файлы .exe.