Quando tento acessar meu aplicativo da web na porta 8080, recebo o seguinte erro
Solicitação inválida - Nome de host inválido
Erro HTTP 400. O nome de host da solicitação é inválido.
Eu nem sei por onde começar a diagnosticar esse problema
Você verificou se a ligação é IIS? (inetmgr.exe) Pode não estar registrado para aceitar todos os nomes de host no 8080.
Por exemplo, se você configurá-lo para mysite.com:8080 e acessá-lo em localhost: 8080, o IIS obterá a solicitação, mas não terá uma ligação de nome de host para corresponder, portanto, a rejeita.
Fora disso, você deve verificar os logs do IIS (C: \ inetpub \ logs \ wmsvc #) no servidor e ver se está vendo sua solicitação. Então você saberá se é um problema no seu cliente ou no próprio servidor.
FWIW, se você gostaria de permitir apenas solicitações direcionadas a qualquer nome de host / ip, você pode definir sua ligação da seguinte forma:
Eu uso essa ligação para poder carregar uma VM com o IE6 e, em seguida, depurar meu aplicativo.
EDITAR: Ao usar o IIS Express para depurar, o local padrão para o arquivo de configuração desta opção é
fonte
Esta página da Microsoft descreve como configurar o acesso ao IIS Server Express de outros computadores na rede local.
Resumindo:
1) em um prompt de comando com privilégios de administrador:
2) No Firewall do Windows com Segurança Avançada, crie uma nova regra de entrada para a porta 8181 para permitir conexões externas
3) Em applicationhost.config, no nó do seu projeto, adicione:
<binding protocol="http" bindingInformation="*:8181:[your ip address]" />
NÃO adicione (como foi sugerido em outra resposta):
<binding protocol="http" bindingInformation="*:8181:*" />
A ligação curinga acima interrompeu meu acesso de
http://192.168.1.6:8181/
fonte
netsh http delete urlacl url=http://[your ip address]:8181/
Portanto, resolvi isso acessando meu site no Gerenciador do IIS e alterando o nome do host nas associações de site de localhost para *. Comecei a trabalhar imediatamente.
fonte
Para
Visual Studio 2017
eVisual Studio 2015
, asIIS Express
configurações são armazenadas no.vs
diretório oculto e o caminho é algo parecido com este.vs\config\applicationhost.config
, adicionar vinculação como a seguir funcionaráSintaxe: https://docs.microsoft.com/en-us/dotnet/api/microsoft.web.administration.binding.bindinginformation?view=iis-dotnet
fonte
<bindings> <binding protocol="http" bindingInformation="localhost:8802:*" /> <binding protocol="http" bindingInformation="127.0.0.1:8802:*"/> </bindings>
Não se esqueça de se conectar ao endereço IPv6 também! Eu estava tentando adicionar um site em 127.0.0.1 usando localhost e recebi a solicitação inválida / erro de nome de host inválido. Quando pinguei o localhost, ele resolveu: 1, pois o IPv6 foi habilitado, então eu só tive que adicionar a ligação adicional para corrigir o problema.
fonte
Isso resolveu meu problema (desculpe meu inglês ruim):
abra o cmd como administrador e execute o comando (sem os colchetes):
netsh http add urlacl url=http://[ip adress]:[port]/ user=everyone
em
documents/iisexpress/config/applicationhost.config
e na pasta raiz do projeto na pasta (oculta):.vs/config/applicationhost.config
você precisa adicionar uma linha à tag "site":<binding protocol="http" bindingInformation="*:8080:192.xxx.xxx.xxx" />
abra o "gerenciador de serviços de informações da Internet (iis)"
(para encontrá-lo: em pesquisa na barra de tarefas, escreva "Ativar ou desativar recursos do Windows" e abra o resultado e marque a caixa de seleção "serviço de informações da Internet" e instale-o):
abra "Firewall do Windows com segurança avançada",
feito.
fonte
Não tenho certeza se esse foi o seu problema, mas para qualquer pessoa que está tentando acessar seu aplicativo da web de sua máquina e tendo este problema:
Certifique-se de que você está se conectando ao
127.0.0.1
(akalocalhost
) e não ao seu endereço IP externo.Seu URL deve ser algo como
http://localhost:8181/
ouhttp://127.0.0.1:8181
e nãohttp://YourExternalIPaddress:8181/
.Informações adicionais:
Isso funciona porque seu firewall pode bloquear sua própria solicitação. Pode ser um firewall em seu sistema operacional e pode ser (o normal) seu roteador.
Quando você se conecta ao seu endereço IP externo, você se conecta a você pela Internet, como se fosse um estranho (ou um hacker).
No entanto, quando você se conecta ao seu host local, você se conecta localmente como você mesmo e o bloqueio obviamente não é necessário (e evitado completamente).
fonte
localhost
, é ao que está se referindo (127.0.0.1
). Tudo o que estou dizendo é conectar-se a isso e não ao seu IP visível externamente. Não há dependência do host local, ele é usado apenas como um sinônimo. Vou editar minha resposta para tornar isso mais claro.Você pode usar a ferramenta CMD do Visual Studio 2005/2008/2010. Execute-o como administrador e escreva
Finalmente posso executar meu aplicativo com sucesso.
fonte
Se estiver trabalhando no servidor local ou não tiver um nome de domínio, exclua o campo "Nome do host:".
fonte
Verifique o arquivo de hosts locais (C: \ Windows \ System32 \ drivers \ etc \ hosts por exemplo). No meu caso, eu já havia usado isso para apontar uma URL para uma caixa de desenvolvimento e depois esqueci. Quando reutilizei o mesmo URL, continuei recebendo Bad Request (Invalid Hostname) porque o tráfego estava indo para o servidor errado.
fonte
Recebi este erro quando tentei chamar um serviço da web usando "localhost". Consertei usando o IP real (192.168 ...)
fonte
Eu vi o mesmo erro depois de usar msdeploy para copiar o aplicativo para um novo servidor. Descobriu-se que as ligações ainda estavam usando o endereço IP do servidor anterior. Portanto, verifique o endereço IP nas ligações do IIS. (Parece óbvio depois do fato, mas não me ocorreu imediatamente verificar).
fonte
Verifique o URL exato que você está fornecendo. Eu vi esse erro quando perdi o prefixo de rota definido no ASP.NET, então ele não sabia para onde rotear a solicitação.
fonte
Certifique-se de que o IIS esteja escutando sua porta.
No meu caso, esse era o problema. Então, eu tive que mudar minha porta para algo como 8083 e isso resolveu o problema.
fonte