Por que eu posso navegar para localhost, não para o nome do meu computador? (IIS7) [fechado]

1

Não estou muito familiarizado com o IIS, mas estou tentando fazer algo que achei que seria bem simples.

Tudo o que fiz foi adicionar uma ligação ao site via IIS. Então, desfiz minha alteração excluindo a ligação.

No IE, se eu navegar até o link , sou saudado com uma foto bonita com várias mensagens de boas-vindas e um grande "IIS7", graças aos designers gráficos da Microsoft.

Se eu procurar o link , serei saudado com 404.

Se eu navegar para qualquer outro diretório virtual no localhost, recebo 404.

Alguma ideia de como posso corrigir isso?

    
por Lost Hobbit 15.11.2011 / 14:22

4 respostas

7

Navegadores da Web compatíveis com HTTP / 1.1 enviam um cabeçalho HTTP chamado "Host" junto com cada solicitação para informar ao servidor de qual nome estão solicitando recursos - isso permite que um servidor hospede vários sites separados pelo mesmo endereço IP .

Por causa disso, os servidores da Web modernos têm um recurso integrado para tratar solicitações de hosts diferentes, como se estivessem chegando a um site totalmente diferente com base no conteúdo do cabeçalho "Host".

No seu caso, o nome do computador está sendo resolvido com êxito para o sistema local (exatamente o endereço para o qual ele resolve depende da configuração da sua rede), como fica evidente nas 404 respostas que o IIS está gerando, mas o IIS não está mapeando a solicitação para o site que você está esperando.

O problema está na configuração das ligações do IIS. Seu problema é uma das três possibilidades:

  • A ligação no site desejado não está definida para o nome do host correto. Pode ser definido como apenas localhost , enquanto a solicitação está chegando com um cabeçalho de mycomputername .
  • A ligação não está definida para o endereço IP correto. Pode ser definido como 127.0.0.1 , enquanto o processo de resolução de nomes provavelmente resolve o nome para um endereço encadernado.
  • Mesmo se a ligação do site desejado corresponder, outro site está recebendo a solicitação porque tem uma ligação mais aplicável. Por exemplo, se o site desejado estiver vinculado a todos os endereços em uma determinada porta, e outro site tiver essa mesma porta vinculada a um endereço mais específico, ele receberá a solicitação.
por 15.11.2011 / 17:43
2

Você pode fazer isso por meio do arquivo de hosts ou adicionar um cabeçalho de host no Gerenciador do IIS.

Você tem o IIS procurando apenas um endereço IP específico. Vá para o Gerenciador do IIS e acesse as propriedades no site. Então, na guia do site, vá para propriedades.

Adicione uma identidade para esse valor de cabeçalho do host.

    
por 15.11.2011 / 14:27
0

você pode editar seu arquivo c:\windows\system32\drivers\etc\hosts . adicionar

127.0.0.1 mycomputername

e tente.

    
por 15.11.2011 / 14:25
-1

você deve adicionar o nome do seu computador no arquivo hosts em

C:\Windows\System32\drivers\etc

Depois disso, o IIS irá resolvê-lo corretamente

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       computername
    
por 15.11.2011 / 14:26

Tags