Mam wiele serwerów pośrednich i testowych, które muszę stale modyfikować, aby uzyskać dostęp do mojego pliku hosts (zależą one od nazwy domeny, więc muszę zmienić plik hosts, aby je uruchomić).
Uważam to za denerwujące. Chciałbym skonfigurować przenośną przeglądarkę dla każdego rodzaju witryny, z którą chcę pracować. Czy jest jakaś wersja graficznej przeglądarki internetowej (w tym przeglądarek opartych na silnikach renderujących innych przeglądarek), która to robi?
W ten sposób mogę po prostu uruchomić instancję, która jest już skonfigurowana do pracy z przemieszczaniem, jeśli chcę przetestować przemieszczanie.
Jakieś pomysły?
EDYCJA: Ważną funkcją jest możliwość jednoczesnego uruchamiania dwóch przeglądarek, z których obie przeglądają some-address.com
, ale jedna z nich kieruje żądania do serwera pod, 1.2.3.4
a druga przegląda żądania do serwera pod adresem 5.6.7.8
.
EDYCJA: (3/16/14)
Pytanie to zostało zadane kilka lat temu i nadal nie znam przyzwoitego sposobu na zrobienie tego. Pozwól mi spróbować wyjaśnić dalej, ponieważ ludzie wydają się źle rozumieć problem. Nie można tego łatwo naprawić za pomocą serwera proxy. Podejrzewam, że możliwe jest napisanie rozległych reguł na serwerze proxy, aby rozwiązać problemy, ale to jest bardzo złożone rozwiązanie tego, co powinno być prostym problemem.
Aby wyjaśnić:
Istnieją trzy serwery sieciowe. Produkcja, testy i rozwój. Każdy uruchamia aplikację wielu dzierżawców, która dostosowuje się na podstawie nazwy hosta używanej do uzyskania dostępu. Pod względem koncepcyjnym jest to podobne do systemu zarządzania treścią lub silnika blogów, który umożliwia uruchamianie wielu witryn z tej samej instancji serwera. Po prostu wskaż nazwę hosta na serwer, a dowolna nazwa hosta używana do uzyskania dostępu za pośrednictwem mapowania nazwy hosta HTTP 1.1, to strona, którą wyświetla.
Żadne rozwiązanie, które po prostu przepisuje plik hosta, nie działa z powodu wymogu jednoczesnego uruchamiania wielu okien przeglądarki w różnych witrynach, produkcji, rozwoju, testowaniu itp. Tak więc ciągłe modyfikowanie pliku hosta nie działa działa, ponieważ wpływa na wszystkie instancje przeglądarki. Jeśli zmienisz mapowanie dla jednej przeglądarki, wówczas inne przeglądarki również będą mapowane na ten serwer, więc wszelkie kolejne żądania będą kierowane na niewłaściwy serwer.
Wszystko, czego szukam, to sposób, aby zmusić tę instancję przeglądarki do korzystania z tego pliku hosta, a ta instancja przeglądarki do korzystania z tego pliku hosta, na przykład za pomocą parametru wiersza polecenia. Nie obchodzi mnie nawet, czy muszę zainstalować wiele kopii przeglądarki.
Może to być wykonalne w przypadku firefox Portable, ponieważ myślę, że używa własnych plików konfiguracyjnych na zainstalowaną kopię, ale problem polega na tym, że oprogramowanie innych firm służące do administrowania witrynami nie działa z firefoxem (same strony, ale narzędzia administracyjne) nie, działają one dobrze z Chrome, IE i Opera, jednak .. i nie mam dostępu do źródła, aby to naprawić).
źródło
Odpowiedzi:
Squid rozwiązał dla mnie problem. Myślę, że wiele serwerów proxy może zrobić to samo.
W szczególności musiałem zainstalować Squid. Następnie zmień plik squid.conf, aby uzyskać dostęp do alternatywnego pliku hosts. Oto linia, którą chcesz zmienić:
W moim przypadku użyłem
hosts_file /etc/hosts-squid
. Utworzyłem ten/etc/hosts-squid
plik i zmieniłem plik hosts-squid, aby dał mi dostęp do nowych adresów IP, które chciałem dla danego adresu URL. To wszystko, co musiałem zrobić, aby skonfigurować serwer proxy Squid.Następnie utworzyłem polecenie uruchomienia przeglądarki z ustawieniami proxy. Użyłem:
Uruchomienie tego polecenia skutecznie daje mi działającą instancję chromu, która może uzyskać dostęp do konfiguracji domen w utworzonym przez mnie pliku hosts-squid.
Byłem także w stanie skonfigurować więcej serwerów proxy za pomocą wielu instancji Squid, aby uzyskać dostęp do strony produkcyjnej, programistycznej i lokalnej na tym samym komputerze. Instrukcje dotyczące uruchamiania wielu instancji Squid znajdują się tutaj . Napisałem też post na blogu wyjaśniający problem i rozwiązanie bardziej szczegółowo.
źródło
Uważam, że chcesz skonfigurować środowisko wirtualne dla każdej przeglądarki, która zawiera własny plik hosts.
Jednym z rozwiązań może być użycie Sandboxie do skonfigurowania osobnego piaskownicy, z których każdy zawiera własny plik hosts. Przeglądarka nie musi być instalowana w piaskownicy, aby korzystać z pliku hosts, po prostu uruchomiona z tego piaskownicy. Skróty na pulpicie można tworzyć w celu uruchamiania przeglądarki z poziomu piaskownicy.
Wadą będzie to, że przeglądarki będą izolowane od prawdziwego systemu plików, na przykład podczas pobierania plików z Internetu, ale Sandboxie zawiera mechanizmy kopiowania takich plików poza piaskownicą.
Niestety funkcja uruchamiania programów w więcej niż jednym piaskownicy w tym samym czasie jest dostępna tylko w płatnej wersji Sandboxie (15 euro plus podatek za roczną licencję na użytek osobisty w domu). Testy wykonalności można wykonać przy użyciu darmowej wersji.
Dla użytkowników Linux podobne produkty to:
źródło
%SYSTEM32%/Drivers/etc/hosts
w systemie Windows i/etc/hosts
Linux. Czy mógłbyś potwierdzić? Wolałbym wersję Linuksa, ponieważ kilka lat temu przeprowadziłem szybką ocenę bezpieczeństwa Sandboxie w systemie Windows (nie udało się, a raporty dla autora pozostały bez odpowiedzi).%SYSTEM32%/Drivers/etc/hosts
, to punkty są twoje. System operacyjny był nieokreślony i niesprawiedliwe jest wstrzymanie go, jeśli działa system Windows / Sandboxie.Możesz zautomatyzować proces zmiany pliku hosta za pomocą firefox + HostAdmin
HostAdmin to dodatek do przeglądarki Firefox, który pomaga modyfikować plik Hosts, przełączać mapowanie domeny-ip. HostAdmin może zrozumieć Twój plik Hosts poprzez ulepszoną składnię pliku Hosts. Ponadto HostAdmin automatycznie odświeża pamięć podręczną DNS przy każdej zmianie pliku Hosts, nawet ręcznie.
Przykładowa konfiguracja
Więcej informacji na https://addons.mozilla.org/en-US/firefox/addon/hostadmin/
Wiele wystąpień
Aby uruchomić dwa wystąpienia przeglądarki firefox jednocześnie i niezależnie w systemie Linux, utwórz wiele programów uruchamiających z następującym skryptem. Zainstaluj także wtyczkę we wszystkich Firefoksie.
Firefox 1
Firefox 2
Możesz użyć opcji profile (
firefox -P
) w przeglądarce, aby użyć profili natywnych dla różnych ustawień i możesz używać ich jednocześnie.źródło
Wiem, że nie o to prosisz, ale tymczasowym rozwiązaniem może być napisanie skryptu wsadowego w celu zamiany plików hostów, a następnie uruchomienie przeglądarki.
Przynajmniej zminimalizuje to pracę, którą wykonujesz.
Lub możesz po prostu nazwać ten serwer czymś zupełnie innym w pliku hosts, abyś nigdy nie musiał go przełączać.
źródło
W tym celu można użyć Privoxy .
źródło
--proxy-server=
.Nie wiem, czy jest to dla Ciebie wystarczająco wygodne, ale jednym z możliwych rozwiązań byłoby zainstalowanie IIS na komputerze z przeglądarkami i zapewnienie skryptów po stronie serwera (takich jak ASP.net, PHP, Ruby ...), które zmieniają
hosts
plik i następnie przekieruj do faktycznej strony. Następnie w twoich przeglądarkach tworzysz zakładkę do tego skryptu, na przykład,http://localhost/config_ie.rb
która zmieniahosts
plik (oczywiście wymaga poprawnych uprawnień do tego pliku), a następnie robisz 302-redirct do prawdziwej strony.źródło
hosts
plik dla każdego procesu. b) Lokalne przechwytywanie DNS: Żądaniem z pliku „iexplore.exe” itp. można manipulować zgodnie z dostarczoną listą. - Czy jest jakiś pomysł, który lubisz?Jeśli pełna maszyna wirtualna to za dużo, może to zrobić rozwiązanie oparte na kontenerze.
Jeśli mówimy tutaj o Linuksie,
lxc
może być wykonalnym rozwiązaniem.Poza tym - nawet pełna maszyna wirtualna z minimalnym linuksowym X11 nie jest aż tak duża (maks. 2 GB dysku) i nie zużywa tylu zasobów (maks. 512 MB pamięci RAM) przy dzisiejszym sprzęcie ...
Lubuntu
VM może zrobić tutaj.źródło
Jednym stosunkowo prostym rozwiązaniem (ale może nieco pochłaniającym duże zasoby) byłoby uruchomienie kilku maszyn wirtualnych na hoście. Każda maszyna wirtualna ma własny plik hosta.
Tak więc masz jedną maszynę wirtualną dla środowiska pomostowego, jedną dla prod itp.
źródło