複数のインスタンス

複数のインスタンス

アクセスするにはホスト ファイルを常に変更する必要があるステージング サーバーとテスト サーバーが多数あります (これらのサーバーはドメイン名に依存しているため、動作させるにはホスト ファイルを変更する必要があります)。

これは面倒です。作業したいサイトの種類ごとに、何らかのポータブル ブラウザーをセットアップしたいと思います。これを実行できるグラフィカル Web ブラウザー (他のブラウザーのレンダリング エンジンに基づくブラウザーを含む) のバージョンはありますか?

この方法により、ステージングをテストしたい場合に、ステージングで動作するようにすでに構成されているインスタンスを起動するだけで済みます。

何か案は?

編集:some-address.com重要な機能は、2 つのブラウザを同時に実行し、両方とも を参照するが、1 つのブラウザは のサーバーに要求を送信し1.2.3.4、もう 1 つのブラウザは のサーバーに要求を送信する機能です5.6.7.8

編集:(2014年3月16日)

この質問は数年前にされましたが、私はいまだにこれを行う適切な方法を知りません。人々が問題を誤解しているようなので、さらに説明してみます。これは、プロキシ サーバーを使用するだけで簡単に解決できるものではありません。プロキシ サーバーで問題を解決するために広範なルールを記述することは可能かもしれませんが、それは単純な問題に対する非常に複雑な解決策です。

明確にするために:

ウェブ サーバーは 3 つあります。プロダクション、テスト、開発です。各サーバーは、アクセスに使用されるホスト名に基づいてカスタマイズされるマルチテナント アプリケーションを実行します。概念的には、これは、同じサーバー インスタンスから複数のサイトを実行できるコンテンツ管理システムやブログ エンジンに似ています。ホスト名をサーバーに指定するだけで、HTTP 1.1 ホスト名マッピングを介してアクセスするために使用されるホスト名が、表示されるサイトになります。

ホスト ファイルを単純に書き換えるソリューションは、複数のブラウザー ウィンドウを異なるサイト (運用、開発、テストなど) に同時に実行する必要があるため、機能しません。したがって、ホスト ファイルを単に継続的に変更しても、すべてのブラウザー インスタンスに影響するため機能しません。1 つのブラウザーのマッピングを変更すると、他のブラウザーもそのサーバーにマッピングされるため、後続のリクエストは間違ったサーバーに送信されます。

私が探しているのは、コマンド ライン パラメータなどを使用して、このブラウザー インスタンスにこのホスト ファイルを使用するように強制し、そのブラウザー インスタンスにそのホスト ファイルを使用するように強制する方法だけです。ブラウザーのコピーを複数インストールする必要があるかどうかは気にしません。

Firefox ポータブルでは、インストールされたコピーごとに独自の設定ファイルを使用すると思うので、これが実行できる可能性がありますが、問題は、サイトを管理するために使用されるサードパーティ製ソフトウェアが Firefox で動作しないことです (サイト自体は動作しますが、管理ツールは動作しません。ただし、Chrome、IE、Opera では正常に動作します。また、これを修正するためのソースにアクセスできません)。

答え1

私の場合は Squid が問題を解決してくれました。多くのプロキシ サーバーでも同じことができると思います。

具体的には、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

このコマンドを実行すると、作成した hosts-squid ファイルで設定されたドメインにアクセスできる chromium の実行インスタンスが効果的に提供されます。

また、複数のSquidインスタンスを使用して、同じコンピュータで本番、開発、ローカルWebサイトにアクセスするために、より多くのプロキシサーバーを設定することもできました。複数のSquidインスタンスを実行する方法については、ここ私はまた、ブログ投稿問題と解決策をもう少し詳しく説明します。

答え2

それぞれのブラウザに独自のホスト ファイルを含む仮想環境を設定することを要求していると思います。

一つの解決策としては、サンドボックスそれぞれ独自のホスト ファイルを含む個別のサンドボックスを設定します。ホスト ファイルを使用するためにブラウザをサンドボックスにインストールする必要はなく、サンドボックス内から起動するだけです。サンドボックス内からブラウザを起動するためのデスクトップ ショートカットを作成できます。

欠点としては、たとえばインターネットからファイルをダウンロードするときにブラウザが実際のファイルシステムから分離されてしまうことですが、Sandboxie にはそのようなファイルをサンドボックスの外部にコピーするメカニズムが含まれています。

残念ながら、複数のサンドボックスで同時にプログラムを実行する機能は、Sandboxie の有料版 (自宅での個人使用の場合、1 年間のライセンスで 15 ユーロ (税別)) でのみ利用できます。実現可能性のテストは無料版を使用して行うことができます。(編集: Sandboxie は現在フリーウェアです。

Linux ユーザー向けの類似製品は次のとおりです。

答え3

ホストファイルの変更プロセスを自動化できます。 firefox + ホスト管理者

HostAdmin は Firefox アドオンで、Hosts ファイルの変更、ドメイン IP マッピングの切り替えに役立ちます。HostAdmin は、拡張された Hosts ファイル構文を介して Hosts ファイルを理解できます。さらに、HostAdmin は、手動でも Hosts ファイルを変更するたびに、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 ブラウザの 2 つのインスタンスを同時かつ独立して実行するには、次のスクリプトを使用して複数のランチャーを作成します。また、すべての 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

プライベートこの目的に使用できます。

関連情報