Quero fazer upload de meu próprio site asp.net no IIS com o Gerenciador do IIS. Mas quando faço isso, recebo o seguinte erro
Erro HTTP 500.19 - Erro interno do servidor A página solicitada não pode ser acessada porque os dados de configuração relacionados à página são inválidos.
Módulo IIS
Notificação do núcleo da Web
Manipulador desconhecido Ainda não determinado
Código de0x80070005
erro Erro de configuração Não é possível ler o arquivo de configuração devido a permissões insuficientes
Arquivo de configuração\\?\C:\Users\Yasso\Documents\Visual Studio 2008\WebSites\WebSite5\web.config
Procurei várias vezes uma solução para esse erro, mas nenhuma das soluções resolveu o erro.
Estou com um problema na minha IUSR
conta. Não consigo ver esta conta nos "nomes de grupo ou usuário" nas propriedades de web.config
.
Qual é o problema?
fonte
Web.config
ACLs do arquivo eram diferentes de outros arquivos no diretório e não estavam sendo herdadas do pai . Ativei a herança da ACL e tudo voltou ao normal.Respostas:
A mensagem está dizendo que seu arquivo de configuração está corrompido de alguma forma. No entanto, também diz que não pode realmente acessar o arquivo de configuração. Portanto, eu ignoraria a mensagem original sobre corrupção / falta de validade, pois provavelmente é apenas o efeito de não conseguir ler o arquivo devido à falta de autorização.
O motivo pelo qual não é possível ler o arquivo de configuração é porque o processo que está executando o aplicativo da web não tem permissão para acessar o arquivo / diretório. Portanto, você precisa conceder ao processo que executa o aplicativo da web essas permissões.
Os direitos de acesso devem ser bastante diretos, ou seja, pelo menos Ler e, dependendo do seu aplicativo, talvez Escrever .
Acima, você menciona IUSR etc. não estando nas propriedades de
web.config
. Se com isso você quer dizer que o IUSR não está listado na guia segurança do arquivo, é uma coisa boa. Não se quer dar ao IUSR nenhum tipo de permissão para web.config . A função IUSR é um usuário anônimo da Internet.O arquivo web.config deve ser acessível apenas através do seu aplicativo.
O problema é que você não disse qual versão do sistema operacional e do IIS está usando, por isso é difícil aconselhar quais etapas executar.
Ou seja, no IIS 7.5, é provável que a mensagem de erro que você está citando ocorra devido ao fato de seu ApplicationPoolIdentity não ter recebido as permissões. Seu aplicativo da web pertence a um pool de aplicativos e, portanto, você precisa conceder as permissões à conta do SO em que o pool de aplicativos do aplicativo da web é executado. Geralmente, isso é algo como o NetworkService, mas você pode personalizá-lo para executar sob uma conta criada especificamente. Sem mais informações, é difícil ajudá-lo.
fonte
Isso também pode acontecer se o site estiver configurado para usar o módulo IIS Rewrite URL, mas não estiver instalado.
fonte
Finalmente , consegui a solução para o meu problema. A conta do ASP.net não apareceu no gerenciador do IIS, porque não marquei sua caixa de seleção no IIS. Para fazer isso no Windows 7, siga as etapas:
Agora, você verá a conta do ASP.net no gerenciador do IIS e, por padrão, a conta do IIS. Agora, você deve mover o site do ASP.net de "meu documento" para outro local onde o IIS tenha permissão para acessá-lo (por exemplo, para outra partição no seu computador). Agora, navegue no seu site no gerenciador do IIS e ele deverá funcionar.
Muito obrigado por Jeff Turner pela solução.
fonte
dism /NoRestart /Online /Enable-Feature /FeatureName:IIS-ASPNET
No meu caso, a instalação do módulo IIS URL Rewrite resolveu o problema.
fonte
Eu estava tendo o mesmo problema, aqui está a solução que funcionou para mim.
fonte
Para desenvolvedores do Visual Studio (VS): Como sugerido por Harvey Darvey, Savage e Snives, a Configuração do host do aplicativo pode estar apontando para o caminho físico do aplicativo errado. Procure virtualDirectory em /.vs/config/applicationhost.config para alterar o PhysicalPath, se estiver incorreto.
Verifique se o PhysicalPath está correto:
fonte
Alerta do Facepalm:
Você também receberá esse erro se o caminho para o arquivo de configuração estiver errado. Verifique duas vezes para garantir que o caminho físico seja inserido corretamente no IIS.
fonte
Você precisa atribuir permissões para IIS_IUSRS na máquina local (mas não precisa atribuir para IUSR, na verdade ele funcionará mesmo se você negar explicitamente as permissões).
Para atribuir permissões, clique com o botão direito do mouse na pasta e na guia segurança, conceda as permissões corretas e, se o usuário não estiver listado, clique em "ADICIONAR" e insira IIS_IUSRS (e verifique se, em "domínio", o local computador estiver selecionado ou insira no campo de nome YourLocalComputerName \ IIS_IUSRS) e .
Se desejar, em vez de atribuir permissões ao grupo IIS_IUSRS, você pode atribuir ao pool de aplicativos, que geralmente deve ser "IIS APPPOOL \ app pool name ".
fonte
Apenas para inserir, recebi o mesmo tipo de erro e meu problema era bastante simples: estava faltando o .NET Core Hosting Bundle. Depois de instalar a ferramenta e reiniciar o servidor, tudo estava bem.
Você pode encontrar o manual para hospedar o núcleo do asp.net no Windows aqui: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2
fonte
O mesmo aconteceu comigo: tente verificar isso clicando duas vezes nas seqüências de conexão no painel direito do IIS 7 ao selecionar um site.
Isso causará um erro (que existe algum problema com o arquivo de configuração da web), porque você usou regras de reescrita de URL e o respectivo componente não está instalado.
Instale o "Microsoft URL Rewrite Module 2.0 para IIS 7" e isso deve resolver o seu problema
fonte
Nada aqui funcionou para mim, encontrei esse comando em outra resposta do SO e resolveu o meu problema. Basta iniciar o prompt de comando como administrador e executar este comando:
Crédito: User Vicxx
fonte
Executo estas etapas para resolver esse problema no Windows Server 2012, IIS 8.5. Também deve funcionar para outras versões.
Web Server
.NET Extensibility 4.5
, escolhaASP.NET 4.5
e ambas asISAPI
entradasNET 3.5
,.NET 4.5
,ASP.NET 4.5
Web Server
(todos),Management Tools
(Console de Gerenciamento do IIS e Serviço de Gerenciamento), Windowsfonte
Outra possibilidade que corrigiu esse problema para mim:
IIS -> Editar permissões -> guia Segurança -> conceder permissões apropriadas aos "usuários" (ou IIS_IUSRS, dependendo da configuração)
fonte
Ehm. Mudei meu site / arquivos para uma pasta diferente. Sem alterar o caminho no site do IIS.
Todos vocês podem rir agora.
fonte
Verifique se o pool de aplicativos está definido para a versão correta da estrutura. Você também precisará garantir que seus usuários aspnet, IIS_IUSRS ou IUSR tenham acesso de leitura ao diretório do aplicativo.
fonte
Instale o módulo ASP.NET Core
Baixe o instalador usando o seguinte link: https://www.microsoft.com/net/permalink/dotnetcore-current-windows-runtime-bundle-installer
fonte
Isso também aconteceu comigo quando eu tinha um documento padrão com o mesmo nome (como index.aspx) especificado no meu arquivo web.config E no meu site IIS. Acabei removendo a entrada do site IIS e mantive a entrada web.config como abaixo:
fonte
Às vezes, essa mensagem pode ter componentes ausentes no ambiente do IIS, por exemplo, uma estrutura específica ou um recurso do IIS, como compactação dinâmica, em vez de permissões para o web.config.
Se for esse o caso, uma solução pode ser instalar e usar o Microsoft Platform Installer e instalar os componentes ausentes - talvez seja necessário verificar o que exatamente está faltando, porque o log e a mensagem de erro não informam.
fonte
Tente instalar o subcomponente 'Application Development' do IIS, conforme mencionado neste SO
fonte
Você precisa definir a permissão para a pasta do site ou copiá-los para a pasta wwwroot :) - Se definir a permissão, tenha duas maneiras: + Clique com o botão direito do mouse na pasta Seu site + Ou clique com o botão direito do mouse em Seu site no IIS => selecione Editar permissão e Adicionar um permissão (IUSR - usuário padrão do iis) Boa sorte ;-)
fonte
No meu caso, isso causado pelo caminho físico do aplicativo aponta para uma pasta inexistente no IIS.
fonte
Tive o problema ao copiar meu arquivo web.config do prod, alterar tudo que não estivesse relacionado ao prod, exceto as regras de reescrita que estavam reescrevendo para http S .
Removemos essas regras e corremos bem.
fonte
Bem simples, o IIS não tem acesso ao seu web.config. Eu começaria retirando o site da sua pasta de documentos. Verifique se ele tem permissões de r / w também.
fonte
Eu também tive o problema semelhante e o corrigi comentando algumas seções no arquivo web.config.
O projeto foi criado e implantado anteriormente no .Net 2.0. Depois de migrar para o .Net 3.5, ele começou a lançar a exceção.
Resoluções:
Se o seu arquivo de configuração contiver "< sectionGroup name =" system.web.extensions > ", comente e execute, pois esta seção já está disponível em Machine.config.
fonte
Você pode obter esse erro se tiver um erro ou erro de sincronização no seu arquivo web.config.
Para mim, era um e comercial perdido em um URL que eu estava usando no AppSettings.
fonte
Na página de erro do IIS 7.5, clique em 'Exibir mais informações' na parte inferior da página e, nesse caso, o levará ao seguinte link da Microsoft:
http://support.microsoft.com/kb/942055
O 0x80070005 O código de erro parece estar relacionado às permissões e, seguindo as etapas da Resolução 2, o método 2, atribuir as contas corretas com permissões nas pastas relevantes deve corrigi-lo - passei 3 dias procurando uma solução até encontrar a solução e trabalhei logo depois.
fonte
teve esse problema com unidades mapeadas, o IIS não funciona com unidades mapeadas. Basta usar a unidade não mapeada.
fonte
Explore a pasta onde seu site está armazenado e veja se você receberá uma pasta extra "aspnet_client" e exclua essa pasta, que funcionará para você.
Eu tentei isso meu problema está resolvido.
Se funcionar para você, faça-o como resposta, para que outro corpo também obtenha solução.
fonte
Nada disso funcionou para mim, mas finalmente tenho uma solução que funcionou para mim:
remova esta linha no web.config:
não remova esta linha
fonte
Adicione a conta local IIS_IUSRS à segurança e amplie o acesso de leitura / execução. isso funciona no meu caso.
fonte