
我有許多臨時和測試伺服器,我需要不斷修改主機檔案才能存取(它們依賴域名,因此我必須更改主機檔案才能使它們正常工作)。
我覺得很煩。我想為我想要使用的每種網站設定某種便攜式瀏覽器。是否有任何版本的圖形 Web 瀏覽器(包括基於其他瀏覽器渲染引擎的瀏覽器)可以執行此操作?
這樣,如果我想測試暫存,我可以簡單地啟動已配置為與暫存一起使用的實例。
有任何想法嗎?
編輯:重要的功能是能夠同時運行兩個瀏覽器,都瀏覽到some-address.com
,但一個瀏覽器將請求定向到位於 的伺服器1.2.3.4
,另一個瀏覽器將請求定向到位於 的伺服器5.6.7.8
。
編輯:(2014 年 3 月 16 日)
這個問題是幾年前提出的,我仍然不知道有什麼好的方法可以做到這一點。讓我嘗試進一步解釋,因為人們似乎誤解了這個問題。這不是僅使用代理伺服器就可以輕鬆解決的問題。我想也許可以在代理伺服器中編寫大量規則來解決問題,但這對本應是簡單問題的解決方案來說是一個巨大的複雜解決方案。
所以澄清一下:
有三個網路伺服器。生產、測試和開發。每個都運行一個多租戶應用程序,該應用程式根據用於存取它的主機名稱進行自訂。從概念上講,這類似於內容管理系統或部落格引擎,允許多個網站在同一伺服器實例上運行。您只需將主機名稱指向伺服器,無論使用哪個主機名稱透過 HTTP 1.1 主機名稱映射存取它,都是它顯示的網站。
任何簡單地重寫主機檔案的解決方案都不起作用,因為需要同時運行多個瀏覽器視窗到不同的網站、生產、開發、測試等......因此,簡單地不斷更改主機檔案並不能解決問題。如果您變更瀏覽器的映射,那麼其他瀏覽器現在也會映射到該伺服器,因此任何後續請求都會傳送到錯誤的伺服器。
我正在尋找的只是一種方法來強制此瀏覽器實例使用此主機文件,並強制該瀏覽器實例使用該主機文件,例如透過命令列參數。我什至不在乎是否需要安裝多個瀏覽器副本。
這對firefox portable 來說可能是可行的,因為我認為它在每個安裝的副本中使用自己的配置文件,但問題是用於管理網站的第三方軟體不能與firefox 一起使用(網站本身可以,但管理工具不,它們可以在 chrome、IE 和 Opera 上正常工作,但是..並且我無法存取原始程式碼來修復它)。
答案1
魷魚為我解決了這個問題。我認為許多代理伺服器也可以做同樣的事情。
具體來說,我必須安裝 Squid。然後更改squid.conf,以便它可以存取備用主機檔案。這是您要更改的行:
#hosts_file /etc/hosts
就我而言,我使用了hosts_file /etc/hosts-squid
.我創建了該/etc/hosts-squid
文件並更改了hosts-squid 文件,以便它可以讓我存取給定URL 所需的新IP 位址。這就是配置 Squid 代理伺服器所需要做的全部工作。
然後,我創建了一個命令來使用代理設定啟動瀏覽器。我用了:
chromium-browser --proxy-server=localhost:3128
有效地運行該命令為我提供了一個正在運行的 chromium 實例,它可以存取我創建的hosts-squid 檔案中的網域設定。
我還能夠使用多個 Squid 實例設定更多代理伺服器,以存取同一台電腦上的生產、開發和本地網站。有關如何運行多個 Squid 實例的說明是這裡。我還寫了一個部落格文章更詳細地解釋問題和解決方案。
答案2
我相信您要求為每個瀏覽器設定一個包含自己的主機檔案的虛擬環境。
一種解決方案可能是使用沙盒設定一個單獨的沙箱,每個沙箱包含自己的主機檔案。瀏覽器無需安裝到沙箱中即可使用主機文件,只需從沙箱內部啟動即可。可以建立桌面捷徑以從沙箱內啟動瀏覽器。
缺點是瀏覽器將與真實檔案系統隔離,例如從網路下載檔案時,但 Sandboxie 包含在沙箱外部複製此類檔案的機制。
不幸的是,同時在多個沙箱中運行程式的功能僅在 Sandboxie 的付費版本中可用(個人在家使用一年的許可證 15 歐元加稅)。可以使用免費版本進行可行性測試。 (編輯:Sandboxie 現在是免費軟體。)
對於 Linux 用戶,類似的產品有:
答案3
您可以使用以下命令自動執行更改主機檔案的過程 火狐 + 主機管理
HostAdmin 是一個 Firefox 插件,可以幫助您修改 Hosts 檔案、切換網域-IP 映射。 HostAdmin 可以透過增強的 Hosts 檔案語法來理解您的 Hosts 檔案。此外,每當您更改 Hosts 檔案時,HostAdmin 都會自動刷新您的 DNS 緩存,甚至可以手動刷新。
配置範例
#==== 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
更多資訊請訪問https://addons.mozilla.org/en-US/firefox/addon/hostadmin/
多實例
若要在 Linux 中同時獨立地執行兩個 Firefox 瀏覽器實例,請使用下列腳本建立多個啟動器。還要在所有 firefox 中安裝該插件。
火狐1
#!/bin/bash
th="/home/$USER/tmp/p1"
mkdir -p "$th"
export HOME="$th"
firefox -no-remote
火狐2
#!/bin/bash
th="/home/$USER/tmp/p2"
mkdir -p "$th"
export HOME="$th"
firefox -no-remote
您可以使用瀏覽器中的設定檔選項 ( firefox -P
) 將本機設定檔用於不同的設置,並且可以同時使用。
答案4
隱私可以用於此目的。