Подтвердить что ты не робот

403 запрещено после публикации asp.net MVC

Я знаю, что на это несколько раз ответили, но ни один из решений не работал у меня. Я опубликовал приложение ASP.NET MVC 3 (это был только интернет-шаблон без каких-либо изменений), чтобы узнать, могу ли я заставить его работать публично. Однако, когда я посещаю сайт, он появляется с ошибкой 403. Исходя из фона php/linux, я смущен и понятия не имею, где искать. Я изучал .NET всего 8-9 месяцев, и все, что я тестировал раньше, было на локальном сервере разработки через VS2010. Это почти похоже на то, что сервер не знает, что это должно быть приложение MVC, или мне нужно изменить мою маршрутизацию.

В любом случае, я проверил, чтобы установить сервер на .NET 4. Любая помощь будет принята с благодарностью.

ТАКЖЕ, это общая среда хостинга с использованием arvixe.

4b9b3361

Ответ 1

Для меня это сделало трюк (исходный ответ Mmerrell в Получение ошибки 404.0 для ASP.NET MVC 3 приложение на IIS 7.0/Windows Server 2008)

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

Просто добавьте в свою веб-конфигурацию следующее:

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 

Убедитесь, что вы выбрали "ASP.Net 4.0" App-Pool, а не App-Pool, созданный для вашего приложения. Убедитесь, что ваш пул приложений использует "ApplicationPoolIdentity" и NOT NetworkService. Удалите разрешение NetworkService из корневой папки. Тебе это не нужно. IIS имеет встроенную идентификацию (IIS_IUSRS).

Ответ 2

403 является запрещенной ошибкой. Попробуйте проверить разрешения NTFS для папки, в которой вы развернулись, убедитесь, что пользователь Network Service имеет разрешение на чтение

enter image description here

Кроме того, проверьте механизм аутентификации и авторизации в приложении IIS:

enter image description here

Отредактировано:

.Net Правила авторизации

enter image description here

Ответ 3

1- убедитесь, что ваше приложение работает под .NET 4.0 (вы сделали это)

2- проверьте с хостинговой компанией, что он поддерживает структуру MVC 3 в своем плане хостинга.

3- (работает) Bin-Разверните свои библиотеки времени выполнения MVC, чтобы вы могли преодолеть любые требования на сервере.

Больше бит-развертывания вашего ASP.NET MVC можно найти здесь: http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx

4- проверьте, что "Сетевая служба" имеет соответствующие права доступа к вашей папке. в основном это должно иметь разрешение "читать".

Ответ 4

У меня была такая же проблема после публикации веб-сайта MVC 4 на удаленном сервере с использованием FTP Publishing. То, что закончилось для меня, было после публикации через Visual Studio, войдите в IIS на удаленном сервере, найдите опубликованный каталог → щелкните правой кнопкой мыши → Преобразовать в приложение.

Не уверен, есть ли способ указать это в свойствах web.config/properties, если у вас нет доступа к серверу?

Ответ 5

Не забывайте о aspnet_regiis.exe -ir.

Ответ 6

<handlers>
  <add name="rewrite" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
</handlers>

Попросите своего хостинг-провайдера добавить эти обработчики в webconfig

Ответ 7

Попробуйте изменить режим управляемых трубопроводов пула приложений на "классический" вместо "встроенный". Хотя это может быть не окончательный результат, который вам нужен (могут быть реальные преимущества в использовании интегрированного режима), по крайней мере, он укажет вам в правильном направлении... если он работает.