Como o servidor DNS sabe como usar o ServerName no httpd.conf, embora ele não esteja configurado em “/ etc / hosts”?

1

Eu só não entendo como meu navegador é capaz de rotear para o caminho correto .... quando eu dou ServerName de um host virtual .... mesmo que não esteja configurado em "/ etc / hosts"

Por favor, explique-me .....

Este é o Virtualhost Iam falando abt

<VirtualHost *:80>
  ServerName example.com
  ServerAlias example
  DocumentRoot "<*path*>"
  RailsEnv development
  <Directory "<*path*>"
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>
    
por user28819 11.12.2009 / 05:26

2 respostas

5

O servidor DNS não usa o ServerName do httpd.conf

Seu navegador não direciona a solicitação, o servidor da web retorna a página correta com base em parte no cabeçalho HTTP do host enviado pelo navegador.

Quando você digita um URL no seu navegador e pressiona enter, o nome é resolvido para IP usando DNS, e o navegador envia uma solicitação HTTP para o IP retornado da consulta DNS.

Cabeçalhos HTTP formam o núcleo da solicitação HTTP. Um deles é o Host ou o nome de domínio que você digitou no navegador.

Usando um exemplo de definição de host virtual.

<VirtualHost *:80>
  ServerName example.com
  DocumentRoot /var/www/example.com
</VirtualHost>

A diretiva ServerName na sua configuração do Host Virtual é comparada com o Cabeçalho HTTP do Host. Então, se você digitar

http://example.com

O Apache receberá a solicitação e tentará corresponder ao cabeçalho do host

Host: example.com

com suas definições de host virtual. Se encontrar uma correspondência, será usado o que estiver listado na

DocumentRoot 

No exemplo acima

/var/www/example.com

Pode ser um arquivo de índice, conforme definido na configuração, ou um índice de diretório, se permitido.

link

    
por 11.12.2009 / 07:02
0

Acredito que, na verdade, é a partir de onde o seu sistema operacional está armazenando o nome do host, / etc / hostname no Ubuntu ou / etc / sysconfig / network em distros do tipo RH

Durante a instalação, acho que ele preenche o ServerName executando o comando hostname

    
por 11.12.2009 / 06:21