Eu tenho vários servidores de armazenamento temporário e de teste que preciso modificar constantemente meu arquivo de hosts para acessar (eles dependem do nome do domínio, por isso preciso alterar o arquivo de hosts para fazê-los funcionar).
Eu acho isso irritante. Gostaria de configurar algum tipo de navegador portátil para cada tipo de site com o qual quero trabalhar. Existe alguma versão de qualquer navegador gráfico (incluindo navegadores baseados nos mecanismos de renderização de outros navegadores) que fará isso?
Dessa forma, eu posso simplesmente iniciar a instância que já está configurada para funcionar com o armazenamento temporário, se desejar testar o armazenamento temporário.
Alguma ideia?
EDIT: 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 1.2.3.4
e o outro navegador direcionando as solicitações para o servidor 5.6.7.8
.
EDIT: (16/3/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 mais, porque as pessoas parecem entender mal o problema. Não é algo que pode ser facilmente corrigido usando apenas 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 do servidor. Você apenas aponta o nome do host para o servidor e o nome do host usado para acessá-lo via mapeamento de nome de host HTTP 1.1 é o site que ele exibe.
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 em diferentes sites, produção, desenvolvimento, teste, etc ... Então, simplesmente alterar constantemente o arquivo host não funciona porque afeta todas as instâncias do navegador. Se você alterar o mapeamento para um navegador, agora os outros navegadores também serão mapeados para esse servidor, para que quaisquer solicitações subsequentes sejam direcionadas ao servidor errado.
Tudo o que estou procurando é uma maneira de forçar essa instância do navegador a usar esse arquivo host e a instância do navegador para usar esse arquivo host, como por meio de um parâmetro de linha de comando. Eu nem me importo se preciso instalar várias cópias do navegador.
Isso pode ser possível com o firefox portable, 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, mas as ferramentas administrativas) no entanto, eles funcionam bem com o chrome, o IE e o Opera, no entanto ... e não tenho acesso à fonte para que isso seja corrigido).
fonte
Respostas:
Lula resolveu o problema para mim. Eu acho que muitos servidores proxy poderiam fazer o mesmo.
Especificamente, eu tive que instalar o Squid. Em seguida, altere o squid.conf para que ele acesse um arquivo de hosts alternativos. Esta é a linha que você deseja alterar:
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 especificado. Era tudo o que eu precisava fazer para configurar o servidor proxy Squid.Criei um comando para iniciar meu navegador com as configurações de proxy. Eu usei:
A execução efetiva desse comando me fornece uma instância em execução do chromium, que pode acessar a configuração de domínios no arquivo hosts-squid que eu criei.
Também pude configurar mais servidores proxy usando várias instâncias do Squid para acessar um site de produção, desenvolvimento e local no mesmo computador. As instruções sobre como executar várias instâncias do Squid estão aqui . Também escrevi um post explicando o problema e a solução com mais detalhes.
fonte
Acredito que você esteja solicitando a configuração de um ambiente virtual para cada navegador que inclua seu próprio arquivo de hosts.
Uma solução pode ser usar o Sandboxie para configurar um sandbox separado, cada um contendo seu próprio arquivo de hosts. O navegador não precisa ser instalado na caixa de proteção para usar o arquivo hosts, apenas iniciado a partir dessa caixa de proteção. Atalhos da área de trabalho podem ser criados para iniciar o navegador de dentro da sandbox.
A desvantagem será que os navegadores serã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, o recurso de executar programas em mais de uma sandbox ao mesmo tempo só está disponível na versão paga do Sandboxie (15 euros mais impostos por uma licença de um ano para uso pessoal em casa). O teste de viabilidade pode ser feito usando a versão gratuita.
Para usuários do Linux, produtos similares são:
fonte
%SYSTEM32%/Drivers/etc/hosts
no Windows e/etc/hosts
no Linux. VocÊ poderia confirmar? Eu preferiria a versão Linux porque fiz uma rápida avaliação de segurança do Sandboxie há alguns anos no Windows (ela falhou e os relatórios ao autor ficaram sem resposta).%SYSTEM32%/Drivers/etc/hosts
, então os pontos são seus. O sistema operacional estava subespecificado e não é justo retê-lo se o Windows / Sandboxie funcionar.Você pode automatizar o processo de alteração do arquivo host com o firefox + HostAdmin
HostAdmin é um complemento do Firefox, que ajuda a modificar o arquivo Hosts, alternar o mapeamento de domínio-IP. O HostAdmin pode entender seu arquivo Hosts por meio de uma sintaxe aprimorada. Além disso, o HostAdmin atualiza seu cache DNS automaticamente sempre que você altera o arquivo Hosts, mesmo manualmente.
Exemplo de configuração
Mais informações em https://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 lançadores com o seguinte script. Instale também o plugin em todo o firefox.
Firefox 1
Firefox 2
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.fonte
Sei que não é isso que você está pedindo, mas uma solução temporária pode ser escrever um script em lote para trocar os arquivos de hosts e, em seguida, reiniciar o navegador.
Pelo menos, minimizaria o trabalho que você está fazendo.
Ou você pode simplesmente nomear esses servidores como algo totalmente diferente no arquivo hosts, para nunca precisar trocá-lo.
fonte
Privoxy pode ser usado para esse fim.
fonte
--proxy-server=
.Não sei se isso é conveniente o suficiente para você, mas uma solução possível seria instalar o IIS na máquina com os navegadores e fornecer scripts no servidor (como ASP.net, PHP, Ruby ...) que alteram o
hosts
arquivo e em seguida, redirecione para a página real. Nos navegadores, você cria um marcador para esse script, por exemplo,http://localhost/config_ie.rb
que altera ohosts
arquivo (requer permissões corretas nesse arquivo, é claro) e, em seguida, faz um redirecionamento 302 para a página real.fonte
hosts
arquivo personalizado para cada processo. b) Interceptação de DNS localmente: a solicitação de "iexplore.exe" etc. pode ser manipulada de acordo com alguma lista que você fornecer. - Tem alguma ideia que você gosta?Se uma VM completa é demais, uma solução baseada em contêiner pode funcionar.
Se estamos falando de linux aqui,
lxc
pode ser uma solução viável.Além disso - mesmo uma VM completa com um mínimo de X11-linux não é tão grande (máximo de 2 GB de disco) e não consome tantos recursos (máx. 512 MB de RAM) com o hardware atual ...
Uma
Lubuntu
VM pode fazer aqui.fonte
Uma solução relativamente simples (mas talvez com um pouco de recursos) seria ter algumas máquinas virtuais em execução no seu host. Cada máquina virtual que possui seu próprio arquivo host.
Então você teria uma máquina virtual para o ambiente de preparação, uma para prod, etc.
fonte