403 запрещено после публикации asp.net MVC
Я знаю, что на это несколько раз ответили, но ни один из решений не работал у меня. Я опубликовал приложение ASP.NET MVC 3 (это был только интернет-шаблон без каких-либо изменений), чтобы узнать, могу ли я заставить его работать публично. Однако, когда я посещаю сайт, он появляется с ошибкой 403. Исходя из фона php/linux, я смущен и понятия не имею, где искать. Я изучал .NET всего 8-9 месяцев, и все, что я тестировал раньше, было на локальном сервере разработки через VS2010. Это почти похоже на то, что сервер не знает, что это должно быть приложение MVC, или мне нужно изменить мою маршрутизацию.
В любом случае, я проверил, чтобы установить сервер на .NET 4. Любая помощь будет принята с благодарностью.
ТАКЖЕ, это общая среда хостинга с использованием arvixe.
Ответы
Ответ 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
Попробуйте изменить режим управляемых трубопроводов пула приложений на "классический" вместо "встроенный".
Хотя это может быть не окончательный результат, который вам нужен (могут быть реальные преимущества в использовании интегрированного режима), по крайней мере, он укажет вам в правильном направлении... если он работает.