
Tenho vários servidores de teste e de teste que preciso modificar constantemente meu arquivo hosts para acessar (eles dependem do nome de domínio, então preciso alterar o arquivo hosts para fazê-los funcionar).
Acho isso chato. Gostaria de configurar algum tipo de navegador portátil para cada tipo de site com o qual desejo trabalhar. Existe alguma versão de algum navegador gráfico (incluindo navegadores baseados nos mecanismos de renderização de outros navegadores) que faça isso?
Dessa forma, posso simplesmente iniciar a instância que já está configurada para funcionar com teste se quiser testar o teste.
Alguma ideia?
EDITAR:O recurso importante é a capacidade de executar dois navegadores simultaneamente, ambos navegando para some-address.com
, mas com um navegador direcionando as solicitações para o servidor em 1.2.3.4
e o outro navegador direcionando as solicitações para o servidor em 5.6.7.8
.
EDITAR:(16/03/14)
Esta pergunta foi feita há vários anos e ainda não conheço uma maneira decente de fazer isso. Deixe-me tentar explicar melhor, porque as pessoas parecem não compreender o problema. Não é algo que possa ser facilmente corrigido apenas usando um servidor proxy. Suponho que seja possível escrever regras extensas em um servidor proxy para resolver os problemas, mas essa é uma solução enorme e complexa para o que deveria ser um problema simples.
Então, para esclarecer:
Existem três servidores web. Produção, teste e desenvolvimento. Cada um executa um aplicativo multilocatário que se personaliza com base no nome do host usado para acessá-lo. Conceitualmente, isso é semelhante a um sistema de gerenciamento de conteúdo ou mecanismo de blog que permite que vários sites sejam executados na mesma instância de servidor. Basta apontar o nome do host para o servidor, e qualquer nome de host usado para acessá-lo por meio do mapeamento de nome de host HTTP 1.1 será o site que ele exibirá.
Qualquer solução que simplesmente reescreva o arquivo host não funciona devido ao requisito de executar várias janelas do navegador ao mesmo tempo para diferentes sites, produção, desenvolvimento, teste, etc. funciona porque afeta todas as instâncias do navegador. Se você alterar o mapeamento de um navegador, os outros navegadores também serão mapeados para esse servidor, portanto, quaisquer solicitações subsequentes irão para o servidor errado.
Tudo o que estou procurando é uma maneira de forçar esta instância do navegador a usar esse arquivo host e essa instância do navegador a usar esse arquivo host, como por meio de um parâmetro de linha de comando. Nem me importo se preciso instalar várias cópias do navegador.
Isso pode ser possível com o Firefox portátil, pois acho que ele usa seus próprios arquivos de configuração por cópia instalada, mas o problema é que o software de terceiros usado para administrar os sites não funciona com o Firefox (os próprios sites funcionam, mas as ferramentas administrativas não, eles funcionam bem com Chrome, IE e Opera, no entanto.. e não tenho acesso à fonte para consertar).
Responder1
O Squid resolveu o problema para mim. Acho que muitos servidores proxy poderiam fazer o mesmo.
Especificamente, tive que instalar o Squid. Em seguida, altere o squid.conf para que ele acesse um arquivo hosts alternativo. Esta é a linha que você deseja alterar:
#hosts_file /etc/hosts
No meu caso eu usei hosts_file /etc/hosts-squid
. Criei o /etc/hosts-squid
arquivo e alterei o arquivo hosts-squid para que ele me desse acesso aos novos endereços IP que eu queria para o URL fornecido. Isso foi tudo que precisei fazer para configurar o servidor proxy Squid.
Em seguida, criei um comando para iniciar meu navegador com as configurações de proxy. Eu usei:
chromium-browser --proxy-server=localhost:3128
A execução desse comando efetivamente me fornece uma instância em execução do chromium que pode acessar a configuração dos domínios no arquivo hosts-squid que criei.
Também consegui configurar mais servidores proxy usando múltiplas instâncias do Squid para acessar um site de produção, desenvolvimento e local, tudo no mesmo computador. Instruções sobre como executar múltiplas instâncias do Squid sãoaqui. Eu também escrevi umpostagem no blogexplicando o problema e a solução com um pouco mais de detalhes.
Responder2
Acredito que você está solicitando a configuração de um ambiente virtual para cada navegador que inclua seu próprio arquivo hosts.
Uma solução pode ser usarCaixa de areiapara configurar uma sandbox separada, cada uma contendo seu próprio arquivo hosts. O navegador não precisa estar instalado na sandbox para usar o arquivo hosts, apenas iniciado dentro dessa sandbox. Atalhos na área de trabalho podem ser criados para iniciar o navegador na sandbox.
A desvantagem será que os navegadores ficarão isolados do sistema de arquivos real, por exemplo, ao baixar arquivos da Internet, mas o Sandboxie inclui mecanismos para copiar esses arquivos fora da sandbox.
Infelizmente, a funcionalidade de executar programas em mais de um sandbox ao mesmo tempo só está disponível na versão paga do Sandboxie (15 euros mais impostos para um ano de licença para uso pessoal em casa). O teste de viabilidade pode ser feito usando a versão gratuita. (Editar: Sandboxie agora é freeware.)
Para usuários Linux, produtos semelhantes são:
Responder3
Você pode automatizar o processo de alteração do arquivo host com firefox + HostAdmin
HostAdmin é um complemento do Firefox, que ajuda a modificar o arquivo Hosts, alternar o mapeamento de IP de domínio. HostAdmin pode entender seu arquivo Hosts por meio de uma sintaxe aprimorada de arquivo Hosts. Além disso, HostAdmin atualiza seu cache DNS automaticamente sempre que você altera seu arquivo Hosts, mesmo manualmente.
Configuração de exemplo
#==== Project 1
# 127.0.0.1 localhost1
127.0.0.1 localhost2
127.0.0.1 localhost3
#====
#==== Project 2
# 127.0.0.1 localhost1
# 127.0.0.1 localhost2
# 127.0.0.1 localhost3
Mais informações emhttps://addons.mozilla.org/en-US/firefox/addon/hostadmin/
Instância múltipla
Para executar duas instâncias do navegador Firefox de forma simultânea e independente no Linux, crie vários inicializadores com o seguinte script. Instale também o plugin em todo o Firefox.
Firefox 1
#!/bin/bash
th="/home/$USER/tmp/p1"
mkdir -p "$th"
export HOME="$th"
firefox -no-remote
Firefox 2
#!/bin/bash
th="/home/$USER/tmp/p2"
mkdir -p "$th"
export HOME="$th"
firefox -no-remote
Você pode usar a opção de perfil ( firefox -P
) em um navegador para usar perfis nativos para configurações diferentes e pode usar simultaneamente.
Responder4
Privoxypode ser usado para esse fim.