Получение "Путей" "ВАРИАНТЫ" запрещено ". Исключение на веб-сайте ASP.NET
Я получаю сообщение об ошибке System.Web.HttpException: Path 'OPTIONS' is forbidden.
, так как мы переместили наш веб-сайт на новую настройку сервера. Я не могу воссоздать ошибку, но я получаю письма для этого исключения по крайней мере несколько раз в день. Любые идеи, что может быть причиной этого и как я могу это исправить?
EDIT:
Трассировка стека:
at System.Web.HttpMethodNotAllowedHandler.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Нет каталогов или файлов с именем OPTIONS, и я считаю, что все разрешения правильные. Я нахожу некоторую информацию о возможной ссылке на EXCEL, получая данные с веб-сервера, но ничего, что полностью объясняет, как и что еще происходит.
ИЗМЕНИТЬ СНОВА:
Кажется, это связано с открытием файлов Excel в Internet Explorer.
Ответы
Ответ 1
OPTION - это глагол, используемый "Обнаружением протокола поставщика интернет-публикаций Microsoft Data Access" (часть MS Office) для запроса, когда пользователь открывает URL-адрес из внутренних офисных приложений.
Вы должны иметь возможность повторно создать проблему, выбрав "Файл" > "Открыть" в Word/Excel 2003 и выше и указав полный URL-адрес файла. Альтернативно, разместив ссылку на файл excel на своем сервере в офисном документе и нажав на него.
Вы можете исправить это, добавив это в свой файл web.config с дополнительными строками для каждого типа файла:
<httpHandlers>
<add verb="*" path="*.xls" type="System.Web.StaticFileHandler" />
<add verb="*" path="*.xlsx" type="System.Web.StaticFileHandler" />
</httpHandlers>
Ответ 2
Получаете ли вы какие-либо отчеты об ошибках пользователя или аналогичные. ОПЦИИ - это http-глагол, который используется для определения возможностей сервера. Похоже, ваш новый веб-сервер не настроен, чтобы разрешить этот глагол, возможно, из соображений безопасности. Обычный веб-запрос от браузера не будет использовать этот глагол, и он часто используется вредоносными/ботами для проверки уязвимостей для использования.
Ответ 3
Когда я получил эту точную ошибку при попытке отправить файл .xls с веб-страницы ASP.Net, это произошло потому, что я опустил расширение имени файла здесь:
Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
Response.ContentType = "application/vnd.ms-excel";
То, что fileName
должно быть fileName.xls
Ответ 4
Эта ошибка возникает при попытке открыть .xls из localhost. В случае IIS это не вызывает никаких ошибок.
Вы можете использовать
<httpHandlers>
<add verb="*" path="*.xls" type="System.Web.StaticFileHandler" />
<add verb="*" path="*.xlsx" type="System.Web.StaticFileHandler" />
</httpHandlers>
в web.config.
Ответ 5
Кажется, это хорошо работает для меня:
<httpHandlers>
<add verb="GET,HEAD,POST" path="*" type="System.Web.DefaultHttpHandler" validate="true"/>
<add verb="OPTIONS" path="*" type="System.Web.StaticFileHandler" />
</httpHandlers>
Ответ 6
Это, вероятно, разрешения для вашей системы. Чтобы получить более подробную информацию, поисковый запрос google вверх - "Путь запрещен" - часть OPTIONS - это строка, специфичная для вашего приложения.
Еще лучше, немного уберите свой мозг и попытайтесь придумать часть вашего приложения, которое пытается получить доступ к URL-адресу или файлу с этим именем.