web-dev-qa-db-ja.com

Googleでetc / hostsファイルの操作をシミュレートするChrome

Chromeを設定して、標準のetc/hostsファイルからではなくローカルでホスト名ルックアップを参照するようにするにはどうすればよいですか?

ウェブサイトをデバッグするとき、特定のドメインをlocalhostに置き換えるC:\ Windows\system32\drivers\etc\hostsにエントリを設定すると、オンザフライでテストできるので便利です。実際のサイトと競合する可能性のあるWebサイトまたはドメインのバージョン。

このプロセスをシミュレートして簡素化する方法でGoogle Chrome=を設定できますか?

拡張機能のセキュリティリスクが高すぎる可能性があるとしても、etc/hostsが変更されたかのように動作するようにブラウザインスタンスを変更することはしません。

33
ripper234

私はちょうど Host Switch Plus Chromeまさにそれを行う拡張機能;)を見つけました

12
mettjus

実際の目標を達成する1つの方法は、Chrome拡張機能、またはChromeさえも含まない)です。その方法は、インテリジェントプロキシHTTPサーバーをセットアップすることです。ポイント= Chrome at at、それから、裏でURLを書き換える書き換えルールをプロキシサーバーに追加します。

さまざまな異なるプロキシHTTPサーバーを使用してこれを行う人はたくさんいます—ここでの回答でそれぞれを詳細に説明するには多すぎます。広告やWebバグなどをザッピングする目的でそうしますが、原理とメカニズムは目的と同じです。彼らは、WWWブラウザが通常どおり特定のURLを取得することを望んでいますが、実際に受信するコンテンツは、他の(ローカルまたはその他の)URLのものです。 WWWブラウザが知っておく必要があるのは、プロキシサーバーを介してインターネットと通信することだけです。

一例として、 SourceForgeのAd Zapper を参照してください。これは、SquidプロキシHTTPサーバーと連動して動作し、プロキシサーバーでオンザフライでURLを書き換えるPerlスクリプトです。構成データベースからわかるように、人々はそのメカニズムを、ニュースサービスの「印刷可能な」形式の記事を常に確認することから、インターネットポルノサイトのランダムな広告リダイレクトを取り除くことまで、幅広い目的に使用しています。

これは、hostsファイルで行うよりもはるかに優れていることに注意してください。これは、WWWサービスを操作するための不適切なメカニズムです。 hostsは、名前→アドレスの検索のみを扱い、マックアップしますその他すべて(WWWブラウザ以外で)名前→アドレスの検索を実行する必要があり、(おそらくすでにご存じのとおり)ターゲットコンテンツHTTPサーバーで仮想ホストとして追加設定されるホスト名を書き換えました。これとは対照的に、この種の書き換えプロキシHTTPサーバーはRLで対処し、最初にHTTPとそれを使用するように構成されたWWWブラウザーのみに影響する。したがって、JavaScriptのURLを書き換えるだけで、同じWWWサイトのその他すべてをそのままにしておくことができます。ホスト名の負荷全体を1つに書き換えます。 (さらに)パターンマッチングを行います。 (Ad Zapperの構成データベースには、まさにこのようなインスタンスがあります。注意してください。)また、1台のマシンで、1つのWWWブラウザで書き換えプロキシを介して世界を表示し、別のWWWブラウザでそれを直接表示することもできます。

7
JdeBP

私は(そして今でも使用しています) HostAdmin を熱心に使用していましたが、毎回キャッシュを空にするか、新しいシークレットウィンドウを開く必要があり、いつも面倒だったので、Chrome昨年、同様の状況を支援するための拡張機能を提供しましたが、最近、その非常に大まかなバージョンをChrome Web Storeで公開しています LiveHosts

その要点は、@ JdeBPが適切であり、プロキシを設定することが正しい解決策である一方で、多くの場合オプションではないということです。 Chrome拡張機能は、ホストファイルを変更したときに何が起こるかを正確に複製することはできません。そのため、LiveHostsが現在行うことは次のとおりです。

  • 複数のホスト名/ IPエントリを設定できます。
  • 定義されたホスト名の1つへの要求を検出します。
  • 適切なHTTPホストヘッダーを使用して、要求を目的のIPにリダイレクトします。
  • アドレスバーのURLに視覚的な(そして醜いことに、私は認めます)参照を追加します。これはhttp://127.0.0.1/www.example.com/whateverelseのようになります。
  • 異なるタブで異なるホスト/ IPペアリングを同時に許可する。

美しくはありませんが、環境をすばやく切り替えようとしている標準のWeb開発者には十分です。もちろん、いくつかの注意点があります。

  • サーバーによっては、サイトのURLを参照するWebページの一部(hrefやsrc属性など)が元のページと異なる場合があります。
  • window.locationには、JavaScriptスニペットを破棄する可能性のある別の値があります。
  • ほとんどのCross-Originリクエストは機能しません。
6
Aioros

Virtual Hosts プラグインは、期待どおりに機能する唯一のプラグインです。

ホストのリダイレクトやDNSを必要とせずに、サーバーの仮想ホストにアクセスします。

0
JDL