Ich habe eine Reihe von Staging- und Testservern, auf die ich meine Hosts-Datei für den Zugriff ständig ändern muss (sie hängen vom Domain-Namen ab, daher muss ich die Hosts-Datei ändern, damit sie funktionieren).
Das finde ich nervig. Ich möchte einen tragbaren Browser für jede Art von Site einrichten, mit der ich arbeiten möchte. Gibt es eine Version eines grafischen Webbrowsers (einschließlich Browsern, die auf den Rendering-Engines anderer Browser basieren), die dies ermöglicht?
Auf diese Weise kann ich einfach die Instanz starten, die bereits für die Arbeit mit Staging konfiguriert ist, wenn ich Staging testen möchte.
Irgendwelche Ideen?
BEARBEITEN: Die wichtige Funktion ist die Fähigkeit, zwei Browser gleichzeitig auszuführen, wobei beide zu some-address.com
einem Browser navigieren, wobei jedoch ein Browser die Anforderungen an den Server 1.2.3.4
und der andere Browser die Anforderungen an den Server weiterleitet 5.6.7.8
.
EDIT: (16.03.14)
Diese Frage wurde vor einigen Jahren gestellt, und ich kenne immer noch keinen vernünftigen Weg, dies zu tun. Lassen Sie mich versuchen, es weiter zu erklären, da die Leute das Problem falsch zu verstehen scheinen. Dies kann nicht einfach mit einem Proxy-Server behoben werden. Ich nehme an, es könnte möglich sein, umfangreiche Regeln in einen Proxy-Server zu schreiben, um die Probleme zu lösen, aber das ist eine sehr komplexe Lösung für das, was ein einfaches Problem sein sollte.
So zu klären:
Es gibt drei Webserver. Produktion, Test und Entwicklung. Auf jedem Server wird eine mandantenfähige Anwendung ausgeführt, die sich basierend auf dem Hostnamen, der für den Zugriff verwendet wird, selbst anpasst. Konzeptionell ähnelt dies einem Content Management System oder einer Blog-Engine, mit der mehrere Websites auf derselben Serverinstanz ausgeführt werden können. Sie zeigen den Hostnamen einfach auf den Server. Der angezeigte Standort ist der Hostname, der für den Zugriff über die HTTP 1.1-Hostnamenzuordnung verwendet wird.
Jede Lösung, bei der die Hostdatei einfach neu geschrieben wird, funktioniert nicht, da mehrere Browserfenster gleichzeitig auf den verschiedenen Sites, in der Produktion, in der Entwicklung, im Test usw. ausgeführt werden müssen arbeiten, weil es alle Browser-Instanzen betrifft. Wenn Sie die Zuordnung für einen Browser ändern, werden auch die anderen Browser diesem Server zugeordnet, sodass alle nachfolgenden Anforderungen an den falschen Server gesendet werden.
Alles, wonach ich suche, ist eine Möglichkeit, diese Browserinstanz zur Verwendung dieser Hostdatei und diese Browserinstanz zur Verwendung dieser Hostdatei zu zwingen, beispielsweise über einen Befehlszeilenparameter. Es ist mir sogar egal, ob ich mehrere Kopien des Browsers installieren muss.
Dies kann mit Firefox Portable möglich sein, da es meiner Meinung nach seine eigenen Konfigurationsdateien pro installierter Kopie verwendet. Das Problem ist jedoch, dass die zur Verwaltung der Sites verwendete Software von Drittanbietern nicht mit Firefox funktioniert (die Sites selbst tun dies, aber die Admin-Tools) nicht, sie funktionieren jedoch gut mit Chrome und IE und Opera.
quelle
Antworten:
Squid hat das Problem für mich gelöst. Ich denke, viele Proxy-Server könnten dasselbe tun.
Insbesondere musste ich Squid installieren. Ändern Sie dann die Datei squid.conf so, dass sie auf eine alternative Hostdatei zugreift. Dies ist die Zeile, die Sie ändern möchten:
In meinem Fall habe ich verwendet
hosts_file /etc/hosts-squid
. Ich habe die/etc/hosts-squid
Datei erstellt und die hosts-squid-Datei so geändert, dass ich auf die neuen IP-Adressen zugreifen kann, die ich für die angegebene URL gewünscht habe. Das war alles, was ich tun musste, um den Squid-Proxy-Server zu konfigurieren.Ich habe dann einen Befehl erstellt, um meinen Browser mit den Proxy-Einstellungen zu starten. Ich benutzte:
Wenn ich diesen Befehl ausführe, erhalte ich eine laufende Instanz von Chromium, die auf die in der von mir erstellten hosts-squid-Datei eingerichteten Domänen zugreifen kann.
Ich konnte auch mehr Proxy-Server mit mehreren Instanzen von Squid einrichten, um auf eine Produktions-, Entwicklungs- und lokale Website auf demselben Computer zuzugreifen. Anweisungen zum Ausführen mehrerer Squid-Instanzen finden Sie hier . Ich schrieb auch einen Blog-Beitrag , in dem ich das Problem und die Lösung etwas ausführlicher erläuterte.
quelle
Ich glaube, Sie möchten für jeden Browser eine virtuelle Umgebung einrichten, die eine eigene Hosts-Datei enthält.
Eine Lösung könnte darin bestehen, mit Sandboxie eine separate Sandbox einzurichten, die jeweils eine eigene Hostdatei enthält. Der Browser muss nicht in der Sandbox installiert sein, um die Hosts-Datei zu verwenden, die gerade in dieser Sandbox gestartet wurde. Desktop-Verknüpfungen können erstellt werden, um den Browser aus der Sandbox heraus zu starten.
Der Nachteil besteht darin, dass die Browser beispielsweise beim Herunterladen von Dateien aus dem Internet vom realen Dateisystem isoliert werden. Sandboxie enthält jedoch Mechanismen zum Kopieren solcher Dateien außerhalb der Sandbox.
Leider ist die Funktion zum Ausführen von Programmen in mehreren Sandboxen gleichzeitig nur in der kostenpflichtigen Version von Sandboxie verfügbar (15 Euro zzgl. MwSt. Für eine einjährige Lizenz für den persönlichen Gebrauch zu Hause). Machbarkeitstests können mit der kostenlosen Version durchgeführt werden.
Für Linux-Benutzer sind ähnliche Produkte:
quelle
%SYSTEM32%/Drivers/etc/hosts
unter Windows und/etc/hosts
Linux zulässt . Kannst du bestätigen? Ich bevorzuge die Linux-Version, weil ich vor ein paar Jahren eine schnelle Sicherheitsbewertung von Sandboxie unter Windows durchgeführt habe (es ist fehlgeschlagen und die Berichte an den Autor sind unbeantwortet geblieben).%SYSTEM32%/Drivers/etc/hosts
, sind die Punkte Ihre. Das Betriebssystem ist nicht genau spezifiziert und es ist nicht fair, sie zurückzuhalten, wenn Windows / Sandboxie funktioniert.Sie können den Prozess der Änderung der Host-Datei mit Firefox + HostAdmin automatisieren
HostAdmin ist ein Firefox-Addon, mit dem Sie die Hosts-Datei ändern und die Domain-IP-Zuordnung ändern können. HostAdmin kann Ihre Hosts-Datei anhand einer erweiterten Hosts-Dateisyntax verstehen. Darüber hinaus aktualisiert HostAdmin Ihren DNS-Cache automatisch, wenn Sie Ihre Hosts-Datei ändern, auch manuell.
Beispielkonfiguration
Weitere Informationen unter https://addons.mozilla.org/en-US/firefox/addon/hostadmin/
Mehrfachinstanz
Um zwei Instanzen des Firefox-Browsers gleichzeitig und unabhängig voneinander unter Linux auszuführen, erstellen Sie mehrere Startprogramme mit dem folgenden Skript. Installieren Sie das Plugin auch in allen Firefox.
Firefox 1
Firefox 2
Sie können die Profiloption (
firefox -P
) in einem Browser verwenden, um native Profile für unterschiedliche Einstellungen zu verwenden und diese gleichzeitig zu verwenden.quelle
Ich weiß, das ist nicht das, wonach Sie fragen, aber eine vorübergehende Lösung könnte darin bestehen, ein Batch-Skript zu schreiben, um die Hosts-Dateien auszutauschen und dann den Browser zu starten.
Zumindest würde es die von Ihnen geleistete Arbeit minimieren.
Oder Sie können diesen Server in der Hosts-Datei einfach einen völlig anderen Namen geben, damit Sie ihn nicht von Anfang an wechseln müssen.
quelle
Privoxy kann zu diesem Zweck verwendet werden.
quelle
--proxy-server=
.Ich weiß nicht, ob dies für Sie praktisch genug ist, aber eine mögliche Lösung wäre, IIS mit den Browsern auf dem Computer zu installieren und serverseitige Skripts (wie ASP.net, PHP, Ruby ...) bereitzustellen, die die
hosts
Datei und ändern dann zur eigentlichen Seite umleiten. In Ihren Browsern erstellen Sie dann ein Lesezeichen für dieses Skript, das beispielsweisehttp://localhost/config_ie.rb
diehosts
Datei ändert (für diese Datei sind natürlich die richtigen Berechtigungen erforderlich), und führen dann eine 302-Weiterleitung zur realen Seite durch.quelle
hosts
Datei für jeden Prozess haben. b) DNS-Überwachung lokal: Die Anforderung von "iexplore.exe" usw. kann gemäß einer von Ihnen angegebenen Liste bearbeitet werden. - Gibt es eine Idee, die du magst?Wenn eine vollständige VM zu groß ist, kann eine container-basierte Lösung verwendet werden.
Wenn wir hier über Linux sprechen,
lxc
könnte dies eine praktikable Lösung sein.Abgesehen davon - selbst eine vollständige VM mit einem minimalen X11-Linux ist nicht so groß (max. 2 GB Festplatte) und verbraucht mit heutiger Hardware nicht so viele Ressourcen (max. 512 MB RAM) ...
Eine
Lubuntu
VM könnte hier tun.quelle
Eine relativ einfache Lösung (aber vielleicht ein bisschen ressourcenintensiv) wäre, ein paar virtuelle Maschinen auf Ihrem Host laufen zu lassen. Jede virtuelle Maschine verfügt über eine eigene Hostdatei.
Sie hätten also eine virtuelle Maschine für die Staging-Umgebung, eine für Prod usw.
quelle