Tengo una serie de servidores de prueba y preparación que necesito modificar constantemente mi archivo de hosts para acceder (dependen del nombre de dominio, por lo que tengo que cambiar el archivo de hosts para que funcionen).
Esto me resulta molesto. Me gustaría configurar un navegador portátil de algún tipo para cada tipo de sitio con el que quiero trabajar. ¿Existe alguna versión de algún navegador web gráfico (incluidos los navegadores basados en los motores de representación de otros navegadores) que haga esto?
De esta manera, simplemente puedo iniciar la instancia que ya está configurada para funcionar con la preparación si quiero probar la preparación.
¿Algunas ideas?
EDITAR: La característica importante es la capacidad de ejecutar dos navegadores de forma concisa, ambos navegando hacia some-address.com
, pero con un navegador que dirige las solicitudes al servidor en 1.2.3.4
y el otro navegador que dirige las solicitudes al servidor 5.6.7.8
.
EDITAR: (16/03/14)
Esta pregunta se hizo hace varios años, y todavía no conozco una forma decente de hacerlo. Permítanme tratar de explicar más, porque la gente parece entender mal el problema. No es algo que se pueda solucionar fácilmente con solo usar un servidor proxy. Supongo que podría ser posible escribir reglas extensas en un servidor proxy para resolver los problemas, pero esa es una solución enorme y compleja para lo que debería ser un problema simple.
Entonces para aclarar:
Hay tres servidores web. Producción, prueba y desarrollo. Cada uno ejecuta una aplicación multiinquilino que se personaliza según el nombre de host utilizado para acceder. Conceptualmente, esto es similar a un sistema de gestión de contenido o motor de blog que permite ejecutar múltiples sitios desde la misma instancia del servidor. Simplemente apunte el nombre de host al servidor, y el nombre de host que se utilice para acceder a él a través de la asignación de nombres de host HTTP 1.1, es el sitio que muestra.
Cualquier solución que simplemente reescribe el archivo host no funciona debido al requisito de ejecutar múltiples ventanas del navegador al mismo tiempo en los diferentes sitios, producción, desarrollo, prueba, etc. Así que simplemente alterar constantemente el archivo host no funciona funciona porque afecta a todas las instancias del navegador. Si cambia la asignación para un navegador, los otros navegadores ahora también se asignan a ese servidor, por lo que cualquier solicitud posterior irá al servidor incorrecto.
Todo lo que estoy buscando es una forma de forzar a esta instancia del navegador a usar este archivo host, y esa instancia del navegador a usar ese archivo host, como a través de un parámetro de línea de comando. Ni siquiera me importa si necesito instalar varias copias del navegador.
Esto puede ser factible con Firefox Portable, ya que creo que usa sus propios archivos de configuración por copia instalada, pero el problema es que el software de terceros utilizado para administrar los sitios no funciona con Firefox (los sitios sí lo hacen, pero las herramientas de administración no, funcionan bien con Chrome e IE y Opera, sin embargo ... y no tengo acceso a la fuente para que esto lo solucione).
fuente
Respuestas:
Squid resolvió el problema por mí. Creo que muchos servidores proxy podrían hacer lo mismo.
Específicamente, tuve que instalar Squid. Luego cambie squid.conf para que acceda a un archivo de hosts alternativo. Esta es la línea que desea cambiar:
En mi caso lo usé
hosts_file /etc/hosts-squid
. Creé el/etc/hosts-squid
archivo y cambié el archivo hosts-squid para que me diera acceso a las nuevas direcciones IP que quería para la URL dada. Eso fue todo lo que necesitaba hacer para configurar el servidor proxy Squid.Luego creé un comando para iniciar mi navegador con la configuración del proxy. Solía:
Ejecutar ese comando efectivamente me da una instancia en ejecución de chromium que puede acceder a la configuración de dominios en el archivo hosts-squid que creé.
También pude configurar más servidores proxy usando múltiples instancias de Squid para acceder a un sitio web de producción, desarrollo y local en la misma computadora. Las instrucciones sobre cómo ejecutar varias instancias de Squid están aquí . También escribí una publicación de blog explicando el problema y la solución con un poco más de detalle.
fuente
Creo que está solicitando configurar un entorno virtual para cada navegador que incluya su propio archivo de hosts.
Una solución podría ser usar Sandboxie para configurar un sandbox separado, cada uno con su propio archivo de hosts. El navegador no necesita estar instalado en el sandbox para usar el archivo hosts, solo se inició desde dentro de ese sandbox. Se pueden crear accesos directos de escritorio para iniciar el navegador desde el entorno limitado.
La desventaja será que los navegadores estarán aislados del sistema de archivos real, por ejemplo, cuando descarguen archivos de Internet, pero Sandboxie incluye mecanismos para copiar dichos archivos fuera del sandbox.
Desafortunadamente, la función de ejecutar programas en más de un sandbox al mismo tiempo solo está disponible en la versión paga de Sandboxie (15 euros más impuestos por un año de licencia para uso personal en el hogar). Las pruebas de viabilidad se pueden hacer con la versión gratuita.
Para usuarios de Linux, productos similares son:
fuente
%SYSTEM32%/Drivers/etc/hosts
en Windows y/etc/hosts
Linux. ¿Podrias confirmar? Prefiero la versión de Linux porque hice una evaluación rápida de seguridad de Sandboxie hace un par de años en Windows (falló, y los informes al autor quedaron sin respuesta).%SYSTEM32%/Drivers/etc/hosts
, entonces los puntos son suyos. El sistema operativo no se especificó correctamente y no es justo para usted retenerlos si Windows / Sandboxie funciona.Puede automatizar el proceso de cambiar el archivo de host con firefox + HostAdmin
HostAdmin es un complemento de Firefox, que le ayuda a modificar el archivo Hosts, cambiar la asignación de dominio-ip. HostAdmin puede entender su archivo Hosts a través de una sintaxis mejorada de archivos Hosts. Además, HostAdmin actualiza su caché DNS automáticamente cada vez que cambia su archivo Hosts, incluso manualmente.
Ejemplo de configuración
Más información en https://addons.mozilla.org/en-US/firefox/addon/hostadmin/
Instancia múltiple
Para ejecutar dos instancias del navegador Firefox de forma concisa e independiente en Linux, cree múltiples lanzadores con el siguiente script. También instale el complemento en todo Firefox.
Firefox 1
Firefox 2
Puede usar la opción de perfil (
firefox -P
) en un navegador para usar perfiles nativos para diferentes configuraciones y puede usar simultáneamente.fuente
Sé que esto no es lo que está pidiendo, pero una solución temporal podría ser escribir un script por lotes para intercambiar los archivos de host y luego bloquear el navegador.
Al menos minimizaría el trabajo que estás haciendo.
O simplemente puede nombrar a este servidor como algo completamente diferente en el archivo de hosts para que nunca tenga que cambiarlo para empezar.
fuente
Privoxy puede usarse para este propósito.
fuente
--proxy-server=
.No sé si esto es lo suficientemente conveniente para usted, pero una posible solución sería instalar IIS en la máquina con los navegadores y proporcionar scripts del lado del servidor (como ASP.net, PHP, Ruby ...) que cambian el
hosts
archivo y luego redirigir a la página real. En sus navegadores, crea un marcador para ese script, por ejemplo,http://localhost/config_ie.rb
que cambia elhosts
archivo (requiere los permisos correctos en ese archivo, por supuesto) y luego realiza un redireccionamiento 302 a la página real.fuente
hosts
archivo personalizado para cada proceso. b) Intercepción de DNS localmente: la solicitud de "iexplore.exe", etc., podría manipularse de acuerdo con alguna lista que usted proporcione. - ¿Hay alguna idea que te guste?Si una máquina virtual completa es demasiado, una solución basada en contenedor podría funcionar.
Si estamos hablando de Linux aquí,
lxc
podría ser una solución factible.Aparte de eso, incluso una máquina virtual completa con un X11-linux mínimo no es tan grande (máximo 2 GB de disco) y no consume tantos recursos (máx. 512 MB de RAM) con el hardware actual ...
Una
Lubuntu
máquina virtual podría hacer aquí.fuente
Una solución relativamente simple (pero quizás con un poco de recursos) sería tener algunas máquinas virtuales ejecutándose en su host. Cada máquina virtual tiene su propio archivo host.
Por lo tanto, tendría una máquina virtual para el entorno de preparación, una para productos, etc.
fuente