Como eu (próximo) faço uso simultâneo de 2 sistemas / servidores DNS diferentes?

4

Muitas vezes, tenho que mudar para qual IP um nome é resolvido para executar determinadas tarefas ao construir ou, mais especificamente, mover sites / aplicativos da Web para uma nova plataforma / servidor. Muitas vezes eu tenho que ir e voltar rapidamente, o que significa editar etc / hosts e atualizar muito, o que é chato.

Existe alguma extensão de programa / plug-in / navegador (de preferência para o Chrome ou FF) que me permite alterar rapidamente o IP, ou permite que o navegador escolha seu próprio servidor DNS ou arquivo de hosts independente do sistema? poderia usar apenas um navegador usando as configurações do sistema e outro usando suas próprias configurações, por exemplo, Chrome resolve example.com para 1.1.1.1 enquanto FF resolve example.com para 1.2.2.2)?

Eu desenvolvo em um Mac, então você pode fornecer extensões de PC como parte de sua resposta, mas por favor, certifique-se de ter pelo menos uma solução que funcione no Mac.

    
por UserZer0 23.09.2011 / 23:22

5 respostas

2

addon do Firefox

  1. SwitchHost (site do Mozilla / Firefox Addon) .

    Base na descrição abaixo, é 100% OP pedindo (switch / using host file)

    SwitchHosts allows you to manage and switch between multiple hosts file quickly and easily...

  2. HostAdmin

  3. TamperData

Ambos (1) e (2) arquivam o resultado modificando o arquivo host que afetará outro programa.

(3) talvez mais a sua necessidade se você não quiser afetar outro programa. Ele também tem a vantagem de não precisar alterar a permissão de gravação do arquivo /etc/hosts , o que pode ser problemático (ou mesmo nenhum efeito) no OS X.

    
por 01.03.2013 / 20:56
1

Você pode executar um servidor proxy e fazer com que um navegador o use e o outro seja executado diretamente. Não tenho certeza de qual proxy de prateleira seria o melhor para isso - se estiver em uma máquina / VM separada, tudo ficaria bem, já que você poderia configurar o DNS das máquinas. Yoy provavelmente pode dizer ao Apache ou ao squid para usar o DNS personalizado ou reescrever as regras, ou você pode escrever seu próprio proxy para fazer isso em < 100 linhas de python ...

    
por 24.09.2011 / 12:21
1

Uma opção é configurar seu próprio servidor DNS e aplicar alterações com as atualizações DNS dinâmico . Você provavelmente ainda precisará limpar os caches DNS do navegador devido a DNS pinning . Se você usa um proxy, o DNS é a responsabilidade do proxy (com exceção dos problemas de pré-busca de DNS no Chrome), portanto, um proxy é a solução mais limpa.

Existem dois proxies HTTP que podem fazer isso:

  • O Fiddler tem substituições de arquivos de hosts: link Porém, ele é executado apenas no Windows - mas como é um proxy HTTP completo, ele pode ser usado em outros sistemas conforme o esperado.
  • O Charles proxy tem capacidade de falsificação de DNS: link Este é provavelmente um melhor ajuste, é multi-plataforma, incluindo Mac OS.

O violinista é gratuito, Charles não, embora tenha um período de tempo limitado.

No Chrome, você pode inspecionar e limpar o cache do DNS com facilidade: chrome://net-internals/#dns Não acredito que exista uma forma de extensão para substituir o DNS (embora ele possa fazer pesquisas de DNS).

Com um plug-in de navegador com alternância de proxy, você pode alternar sites ativando ou alternando o proxy.

Para completar, há dois possíveis problemas com essa abordagem: cookies e cache . Os cookies de estado ou de autenticação em um servidor podem não funcionar no outro. Novo conteúdo no seu site de teste pode não aparecer porque não expirou, isso depende das configurações de armazenamento em cache no servidor e no conteúdo. Limpar o cache do navegador e os cookies devem fazer o truque se isso ocorrer.

Você também pode ter o problema oposto de que o conteúdo não seja armazenado em cache conforme o esperado, pois os servidores da Web possuem cabeçalhos Etag diferentes para o mesmo conteúdo estático. Isso geralmente não causa um grande problema, embora possa ser sinalizado em relatórios de desempenho.

Já que sua abordagem manual atual de troca de DNS também sofrerá o problema acima, eles provavelmente não são um problema para você, ou você já teria notado; -)

(Quando possível eu prefiro usar uma abordagem alternativa para todo o problema que é normalmente mais limpa: adicione aliases de host virtual de "dev-www" "prod-www" "teste-www" etc., embora isso às vezes tenha próprias complicações.)

    
por 01.03.2013 / 14:16
1

Que tal usar um script de shell ou um Applescript para trocar o arquivo de hosts do sistema?

Versão do shell não testada:

mv /private/etc/hosts /private/etc/hosts.tmp
mv /private/etc/hosts.alt /private/etc/hosts
mv /private/etc/hosts.tmp /private/etc/hosts.alt
dscacheutil -flushcache
    
por 02.03.2013 / 00:28
0

No FireFox, você pode usar o Add-on do Redirecionador que permite especificar padrões para páginas que devem ser redirecionadas automaticamente para outras páginas. Por exemplo, redirecione http://example.com/foo.html para http://example.com/bar.html .

A extensão suporta caracteres curinga e expressões regulares em padrões. Expressões regulares suportam a captura de parênteses, então você pode redirecionar http://example.com/(.*) para http://1.1.1.1/$1 .

Para desativar o Redirecionador temporariamente, clique no R na barra de status ou pressione Alt + R . Clicar com o botão direito no ícone abre a janela de opções do Redirecionador.

(Isenção de responsabilidade: eu nunca usei este add-on).

    
por 25.02.2013 / 11:50