Digamos que você tenha Server A
configurado com seu servidor Web favorito para servir www.example.com
. Agora você deseja mover isso para Server B
. Após várias cópias e configurações, o novo servidor parece estar pronto. Um teste final estaria em ordem: Antes de alterar os registros DNS, como solicitar ao www.example.com
Servidor B quando os registros DNS ainda apontam para o servidor A?
Embora minha pergunta principal tenha sido respondida, no caso de o / etc / hosts não estar sob meu domínio de influência, é possível testá-lo com o telnet conversando HTTP1.1 bruto com o servidor da web?
domain-name-system
http
testing
Jarmund
fonte
fonte
Respostas:
DNS é uma coisa mágica. Com controle suficiente sobre um PC cliente, você pode criar e
right.com
instalar . Entre em um PC cliente de teste e mexa com sua resolução DNS alterando o arquivo host nesse cliente, ou você pode fazer algo um pouco mais complexo e fornecer a esse host um servidor DNS simples para consulta, como . Seja como for o processo, o objetivo final é fazer com que a resposta DNS para consultas relacionadas ao endereço IP do Servidor B. Os cabeçalhos de host HTTP terão o nome DNS de www.example.com, mas visem Servidor B.wrong.com
viceversa.io
dnsmasq
www.example.com
Magia!
fonte
/etc/hosts
não me ocorreu, e isso funcionou perfeitamente. Felicidades para o lembrete!hosts
arquivo não está envolvido na resolução do DNS, mas é um mecanismo de pesquisa de nome totalmente separado que a biblioteca de resolvedores fornecida pelo sistema operacional do cliente pode e, na maioria dos casos, usará, além de pesquisas no DNS. Pessoalmente, acho que a parte "é mágica" apenas alimenta "não há necessidade de entender", o que certamente é uma coisa ruim para os profissionais.É importante observar que o que importa fazer um teste como este para HTTP não está realmente relacionado ao DNS, mas ao que o cliente HTTP envia como o
Host
valor do cabeçalho.O cliente precisa se conectar ao endereço IP e à porta certos, obviamente, mas além disso tudo se resume ao
Host
cabeçalho que está embutido na própria solicitação HTTP.Para um teste rápido, o seguinte comando pode ser usado sem alterar nenhuma configuração no nível do sistema operacional no cliente:
ou, nesse caso,
Para fazer o mesmo com um navegador da Web normal, você precisará de uma extensão do navegador que possa modificar os cabeçalhos da solicitação (ou possivelmente um proxy HTTP que altere os cabeçalhos) ou alterar a configuração do sistema operacional da máquina cliente.
Como foi mencionado, o meio mais fácil de fazer essa alteração na configuração seria adicionar uma entrada ao
hosts
arquivo. Dessa forma, a biblioteca do resolvedor do SO do cliente já seria atingida ao consultar ohosts
arquivo e nem precisará fazer uma pesquisa de DNS.Outras opções incluem alterar os servidores resolvedores de DNS configurados no cliente para um servidor de nomes configurado para responder conforme desejado.
fonte
curl
permite que você substitua a resolução de nomes normal (DNS ou hostfile) e ainda faça os cabeçalhos automaticamente, além do SNI se estiver usando / testando o httpS. Veja--resolve
em sua página de manual ou em curl.haxx.se/docs/manpage.html .Você pode testar isso com
telnet
. Você precisa fazer uma solicitação HTTP bruta digitando os comandos. Você não pode cometer erros, e alguns servidores têm um tempo limite, portanto, você também deve digitar toda a solicitação nesse período.O comando será algo como isto:
A solicitação será mais ou menos assim:
Observe que ele deve terminar com uma linha em branco; portanto, pressione Enter duas vezes após o cabeçalho do host.
fonte
Host
não é completo . (E, aparentemente, alguns servidores podem ter problemas com diferentes capitalizações.)O que geralmente faço é forçar www.example.com para o endereço IP do servidor B em meus / etc / hosts. Faço isso desde que usei o Mosaic e, como faço com pouca frequência, não sinto a necessidade de encontrar melhor.
Olhando um pouco para você, encontrei /superuser/403042/custom-host-file-for-firefox, que é respondido por https://addons.mozilla.org/es/firefox/addon/ foxyproxy-standard / mas há uma nota muito recente dizendo que foi abandonada.
fonte
Se você precisar verificar se funciona, aconselho um plugin broswer simples, como o
Modify Headers
Firefox, e altereHOST
parawww.mydomain.com
.fonte